zoukankan      html  css  js  c++  java
  • 分页处理

    对于 web 页面上的分页功能,我们一般做做以下操作

    • 获取总页数
    • 翻页操作

    对于有些分页功能提供上一页,下一页按钮,以及可以输入具体页面数跳转功能不在本例的讨论范围

    ....
    <select id="pageElm_a74e_ce2c" class="yem" action="page" data-page="5">
    <option value="1">1/5</option>
    <option value="2">2/5</option>
    <option value="3">3/5</option>
    <option value="4">4/5</option>
    <option value="5">5/5</option>
    </select>
    ....

    上面代码为分页功能的代码片断,显示效果如下

    #coding=utf-8
    from selenium import webdriver
    from time import sleep
    driver = webdriver.Firefox()
    driver.get("http://passport.kuaibo.com/login/?referrer=http%3A%2F%2Fvod.kuai
    bo.com%2F%3Fly%3Ddefault")
    #登录系统
    driver.find_element_by_id("user_name").clear()
    driver.find_element_by_id("user_name").send_keys("username")
    driver.find_element_by_id("user_pwd").clear()
    driver.find_element_by_id("user_pwd").send_keys("password")
    driver.find_element_by_id("dl_an_submit").click()
    sleep(2)
    #获取所有分页的数量,并打印
    total_pages=len(driver.find_element_by_tag_name("select").find_elements_by_t
    ag_name("option"))
    print "total page is %s" %(total_pages)
    sleep(3)
    #再次获取所分页,并执行循环翻页操作
    pages=driver.find_element_by_tag_name("select").find_elements_by_tag_name("o
    ption")
    for page in pages:
    page.click()
    sleep(2)
    sleep(3)
    driver.quit()

    len()方法在定位一组对象有时已经用过,用于获取对象的个数

    这里同样用到了二次定位,只是第二次定位用的是 find_elements 方法,获取的是一组元素。通过上面的脚本可以看到,我们第一次获取到一组元素后,打印了所有分页的个数。第二次获取所有分页后, 通过 for 循环来翻阅每一页,每翻一页休眠 2 秒,当然,我们也可以在翻页后对列表的文件做更多操作。

  • 相关阅读:
    haskell的分数运算
    我的自画像
    秋 天 19:4320:05
    不要逼孩子考100分
    看图写话
    转载:挺住,意味着一切
    Wpf UI框架 MaterialDesign 的使用记录
    通过蓝牙的RSSI计算两端之间的距离(一维定位)
    java tcp socket readline 阻塞问题处理
    Android Back返回键 退出
  • 原文地址:https://www.cnblogs.com/zhang-jun-jie/p/9313781.html
Copyright © 2011-2022 走看看