环境准备
1.根据浏览器版本下载对应版本驱动,驱动下载地址:
chrome:http://chromedriver.storage.googleapis.com/index.html
firefox:https://github.com/mozilla/geckodriver/releases
2.将浏览器驱动放在python.exe的目录,一般是python环境根目录
浏览器配置
静默运行,加入参数实现
from selenium import webdriver
global dr
# 开启静默运行
options = webdriver.ChromeOptions()
options.add_argument('--headless')
dr = webdriver.Chrome(options=options)
dr.get('https://www.baidu.com')
其他常用浏览器参数:
options.add_argument('--user-agent=""') # 设置请求头的User-Agent
options.add_argument('--window-size=1280x1024') # 设置浏览器分辨率(窗口大小)
options.add_argument('--start-maximized') # 最大化运行(全屏窗口)
options.add_argument('--disable-infobars') # 禁用浏览器正在被自动化程序控制的提示
options.add_argument('--incognito') # 隐身模式(无痕模式)
options.add_argument('--disable-javascript') # 禁用javascript
options.add_argument('--blink-settings=imagesEnabled=false') # 不加载图片, 提升速度
浏览器驱动对象
# 通过配置文件读取浏览器类型和是否静默运行,要配置更多浏览器options,直接扩展
def get_driver():
global dr
# 选择驱动/是否静默运行
if conf['webdriver']['driver'] == 'chrome':
if conf['webdriver']['ifHeadless']:
options = webdriver.ChromeOptions()
options.add_argument('--headless')
return webdriver.Chrome(options=options)
return webdriver.Chrome()
if conf['webdriver']['driver'] == 'firefox':
if conf['webdriver']['ifHeadless']:
options = webdriver.ChromeOptions()
options.add_argument('--headless')
return webdriver.Firefox(options=options)
return webdriver.Firefox()