Selenium使用(本资料以Google Chrome举例)
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。
安装
Windows:
pip install selenium
Mac、Linux:
pip3 install selenium
基本使用
1.创建浏览器对象并加载页面
from selenium import webdriver
# 创建Chrome浏览器对象
browser = webdriver.Chrome()
URL = 'https://www.baidu.com/'
# 加载页面
browser.get(URL)
2.打印页面源码
from selenium import webdriver
# 创建Chrome浏览器对象
browser = webdriver.Chrome()
URL = 'https://www.baidu.com/'
# 加载页面
browser.get(URL)
print(browser.page_source)
3.基本配置
from selenium import webdriver
# 创建设置对象
options = webdriver.ChromeOptions()
# 解决DevToolsActivePort文件不存在的报错
options.add_argument('--no-sandbox')
# 谷歌文档提到需要加上这个属性来规避bug
options.add_argument('--disable-gpu')
# 隐藏滚动条, 应对一些特殊页面
options.add_argument('--hide-scrollbars')
# 图片不加载选其一
# 不加载图片, 提升速度
options.add_argument('blink-settings=imagesEnabled=false')
# 不加载图片, 提升速度
options.add_experimental_option("prefs", {
"profile.managed_default_content_settings.images": 2})
# 设置取消测试环境
options.add_experimental_option('excludeSwitches', ['enable-automation'])
# 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败(无头浏览器)
options.add_argument('--headless')
# 设置代理
option