对于 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>
....
上面代码为分页功能的代码片断,显示效果如下:
 
图 3.13

#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 秒,当然,我们也可以在翻页后对列表的文件做更多操作。

转载于:https://www.cnblogs.com/xxsl/p/6116346.html

转:python webdriver API 之分页处理相关推荐

  1. Selenium3 Python WebDriver API源码探析(19)加载FireFox用户配置文件

    FireFox用户配置文件 Firefox 将用户个人信息(例如书签.密码.首选项.扩展.Cookie.证书等)保存在一系列文件中,它们被叫做用户配置文件,它们与 Firefox 的程序文件保存在不同 ...

  2. 第三章 python webdriver API(一)——浏览器操作

    浏览器的操作 浏览器最大化 from selenium import webdriver driver = webdriver.Firefox() driver.get("https://w ...

  3. Python WebDriver API - 浏览器窗口操作

    首先需要获取WebDriver实例对象 from selenium import webdriver driver = webdriver.Chrome()  #获取WebDriver实例对象 1.浏 ...

  4. Selenium3 Python WebDriver API源码探析(10):动作链(ActionChains):鼠标事件和键盘事件

    鼠标.键盘事件是我们利用Selenium操控浏览器的重要交互手段,主要由selenium\webdriver\common\action_chains.py中的ActionChains类实现.该类通过 ...

  5. Python+selenium WebDriver API

    目录 2.1 操作元素基本方法 2.2 常用8种元素定位(Firebug和firepath) 2.3 xpath定位 2.4 CSS定位 2.5 SeleniumBuilder辅助定位元素 2.6 操 ...

  6. python rest api 框架_Python Eve REST API框架

    说到Eve它是一款Python REST API框架,主要用于发布高可定制全功能的Web服务,可以上我们轻松创建部署Api. python eve现在的最新版本是0.1.0版本,它是一个开源项目遵循B ...

  7. Selenium WebDriver Api 知识梳理

    之前一直没有系统的梳理WebDriver Api的相关知识,今天借此机会整理一下. 1.页面元素定位 1.1.8种常用定位方法 #id定位 driver.find_element_by_id()#na ...

  8. WebDriver API

    WebDriver API 1. WebDriver原理: Server------------------------------------------Client http请求request R ...

  9. Selenium WebDriver API 进阶使用,模块化参数化进行自动化测试设计

    2019独角兽企业重金招聘Python工程师标准>>> WebDriver API 进阶使用 元素定位 我们知道,WebDriver API的调用以及自动化测试,务必从页面元素的定位 ...

最新文章

  1. mysql 2053_php – MySql一般错误:2053
  2. Java 多项式求和
  3. PYTORCH笔记 actor-critic (A2C)
  4. 灵宝机器人编程学校_灵宝两所学校上榜“河南省中小学人工智能教育实验学校”...
  5. 雷兽的数据库CAP乱谈之(一)阐述
  6. jpa 手动预编译_编译时检查JPA查询
  7. Linux进阶之路————Linux运行级别(重置密码)
  8. 百度陆奇最新内部演讲:如何成为一个优秀的工程师?
  9. js调用打印机直接打印_标签打印机测评丨用手机控制和键盘直接操作哪种更好用?...
  10. 恶意混时间你不敢管,却要吓唬全体员工?
  11. 原来闭包也可以这么简单
  12. 六、配置基于 IP 子网划分 VLAN 示例
  13. 车站计算机系统的简称,AFC计算机系统.ppt
  14. 操作系统的基本类型、工作流程及其优缺点
  15. 乖离性百万亚瑟王服务器维护,重大更新!《乖离性百万亚瑟王》10月23日维护更新公告...
  16. java中北大学ppt总结+课后习题第三章(小宇特详解)
  17. 奇数值结点链表(C语言实现)
  18. Springboot美妆网站的设计与实现毕业设计-附源码211539
  19. 巴菲特致股东的一封信:1998年
  20. 【厚积薄发系列】C++项目总结9—ZeroMQ消息队列入门及分布式系统中应用(一)

热门文章

  1. 大型旋转机械状态监测与故障诊断
  2. 互联网女皇2012趋势报告:移动行业仍处早期
  3. 2020雷军小米10周年演讲PPT 附下载地址
  4. Simulink建模与仿真学习笔记之真值表(Truth Table)
  5. python自动回复_Python 实现微信自动回复
  6. vue 计算文件hash值_vue项目打包文件增加hash值
  7. 图像处理中常用的坐标系转换
  8. 采购网站服务器的请示,关于采购云服务器的请示
  9. 诺瓦科技--测试开发工程师(7.12)
  10. avada html5,46个Avada主题自带的Demo演示网站(WordPress)