Python 浏览器自动化测试框架:Selenium 初探
Python 浏览器自动化测试框架:Selenium 初探
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。在Python中存在Selenium库来实现。
(Selenium 硒???不说了世界硒都湖北恩施欢迎你!)
安装
pip install Selenium
安装ChromeDriver.exe
自己使用的是Chrome浏览器,若是其他版本浏览器的话可以去https://baidu.vnos.cn/参考一下对应浏览器的驱动程序安装方法,如果你也是使用的是Chrome浏览器的话使用Selenium是需要安装和配置ChromeDriver.exe的,否则就会出现 chromedriver" executable needs to be in PATH.
这样的报错。
- 查看你的Chrome版本
- 打开http://npm.taobao.org/mirrors/chromedriver/下载对应Chrome版本的win32压缩文件
- 解压出chrowmedriver.exe ,到你的添加环境变量的目录,如:Python的安装目录。
打开浏览器
from selenium import webdriver
browser = webdriver.Chrome()
browser.get("https://lengqie.live")
搜索关键词
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Chrome()
browser.get("http://baidu.vnos.cn/")
# 判断标题中是否包含该字符串
assert "WDNMD!不会百度么?" in browser.title
# 查找name=text的节点
element = browser.find_element_by_name("text")
# 清空原有的输入,输入python进行搜索
element.clear()
#出入查找内容
element.send_keys("饮水楞伽")
#输入回车
element.send_keys(Keys.RETURN)
# 判断是否有结果返回
assert "No results found." not in browser.page_source
# 关闭当前标签,也可以使用quit()关闭浏览器
browser.close()
在什么的程序中element = browser.find_element_by_name("text")
查找的是在https://baidu.vnos.cn/中name
的节点,即定位到搜索框。百度的搜索框为id=kw
,
element = browser.find_element_by_id("kw")
我们可以在浏览器中右键审查元素来找到对应的节点,类似的将来实现比如账号密码的输入。
Selenium拥有强大解析功能,可以实现JavaScript渲染、可实现可见可爬,后期我见会更加深入的学习这个库,并更新笔记到博客中来!