学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需写作干货注入能量… 热爱写作,愿意让自己成为更好的人…
一、什么是Selenium 定义 Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成.Net、Java、Perl等不同语言的测试脚本。
因此,Selenium也被叫做“浏览器自动化测试框架”。(以上定义摘自百度百科)
功能 框架底层使用JavaScript模拟真实用户对浏览器进行操作。测试脚本执行时,浏览器自动按照脚本代码做出点击,输入,打开,验证等操作,就像真实用户所做的一样,从终端用户的角度测试应用程序。
使浏览器兼容性测试自动化成为可能,尽管在不同的浏览器上依然有细微的差别。
使用简单,可使用Java,Python等多种语言编写用例脚本。
二、下载模块 1、pip下载 windows电脑使用winR+cmd的方式进入命令行终端,使用pip进行安装,具体命令为
pip install selenium
2、安装浏览器驱动webDriver Selenium库中有个叫webDriver的API。webDriver即可以加载网站,也可以用来查找页面元素、与页面上的元素进行交互,以及执行其他动作。
三、基操(只演示谷歌浏览器) 一、打开Chorme浏览器: from selenium import webdriver #导入模块 browser = webdriver.Chorme() #浏览器的初始化 browser.get('https://www.baidu.com/') #向百度发送请求 print(browser.title) #输出页面标题 browser.quit() #结束进程 二、无界面模式 from selenium import webdriver
1. 实例化配置对象
chrome_options = webdriver.ChromeOptions()
2. 配置对象添加开启无界面命令
chrome_options.add_argument('--headless')
3. 配置对象添加禁用gpu命令
chrome_options.add_argument('--disable-gpu')
4. 实例化带有配置对象的browser 对象
browser = webdriver.Chrome(chrome_options=chrome_options)
browser.get('https://www.baidu.com/')
查看请求的数据
print(browser.page_source) # 查看渲染后的数据,就可以Xpath进行解析获取数据了 print(browser.get_cookies()) # 查看请求页面后的cookies值 print(browser.current_url) # 查看请求url
关闭页面
browser.close()
关闭浏览器
browser.quit() 三、元素定位 通过selenium的基本使用可以简单操作浏览器,如此一来,学习定位元素的其他方法
from selenium import webdriver from selenium.webdriver.common.by import By
chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--headless') browser = webdriver.Chrome(chrome_options=chrome_options) url = 'https://www.xxx.com/' browser.get(url) html_str = browser.page_source 返回内容如下
Hello
- Foo
- Bar
- Jay
- Foo
- 百度官网
- Bar