如何通过WebUI自动化获取页面结果列表标题
Selenium
首先我们需要了解Selenium是什么
Selenium是一个Web应用程序自动化测试的工具合集
它包含:
- 测试
- 屏幕抓取
- 浏览器行为模拟(爬虫)
- 支持浏览器:Firefox、IE、Chrome、safari、Opera等
功能:
- 以图形化的方式在Firefox上录制与回访Selenium脚本
- 以脚本化方式实现浏览器测试的、支持多语言的一套API
- 用于以服务的方式启动,支持远程控制、分布式部署等功能
想具体了解Selenium或下载可以去官网:https://www.seleniumhq.org/
环境搭建
环境准备:
- Python
python 2.7 + pycharm - Selenium Webdriver
pip install Selinium - Firefox 浏览器与对应驱动
Firefox 47版本+
geckodriver-v0.24.0-win64
geckodriver环境变量配置:
可以在C盘根目录创建webdriver文件夹,再把下载好的geckodriver.exe放进去
然后右击我的电脑,点击属性,选择高级系统设置,击环境变量,选择系统环境中的path变量,点击编辑
新建,添加C:\webdriver然后确定两次
环境变量配置成功,python环境变量配置可通过菜鸟教程具体操作
https://www.runoob.com/python/python-install.html
通过WebUI自动化获取页面结果列表标题
初始化Firefox webdriver
步骤:
- 导入selenium webdriver包
- 新建Firefox webdriver对象
- 设置webdriver超时时间
- 设置浏览器窗口展示方式
代码如下:
通过webdriver访问目标网站
步骤:
- 访问目标URL并加载网页:webdriver.get(url)
代码如下:
输入搜索关键字
步骤:
- 通过页面元素的ID属性值来定位元素 :driver.find_element_by_id()
- 清除文本框或文本域中的内容:element.clear()
- 模拟输入文本:element.send_keys()
- 加入睡眠时间,给浏览器一点反应时间:time.sleep(2) (注:记得导入time类库;import time)
代码如下:
点击搜索按钮:
步骤
- 通过页面元素的ID属性值来定位元素 :driver.find_element_by_id()
- 点击按钮:element.click()
- 加入睡眠时间:time.sleep(2)
代码如下:
获取结果列表页面标题
步骤:
- 点击搜索按钮:element.click()
- 通过页面元素的tag属性值来定位元素:find_elements_by_tag()
- 获取元素的文本值:element.text
代码如下:
全部代码具体如下:
最后了解一下元素定位方法
WebDriver–8种定位元素方法:
-
id定位: id属性是唯一的
find_element_by_id(“id值”) -
name定位:元素的名称, name属性值在当前页面可以不唯一
find_element_by_name(“name值”) -
class定位:元素的类名,
find_element_by_class_name(“class值”) -
tag定位:页面html文档下的各种标签,find_element_by_tag_name(“input”)
-
link定位:专门用来定位文本链接,
find_element_by_link_name(“text”) -
partial link定位:是对link定位的一种补充,当链接上的文本内容比较长的时候,可以取文本的一部分进行定位
find_element_by_partial_link_text(‘xxxx很长’) -
XPath定位:有多种定位策略,根据需求自由选择,例如利用元素属性定位,
find_element_by_xpath(".//*[@id=‘Title’]") -
CSS定位:(薄弱,用的很少,但很强大,比xpath简洁灵活):使用选择器来为页面元素绑定属性,可以灵活地选择控件的任意属性;find_element_by_css_selector("");