再Selenium中使用不同的Webdriver可能会有不一样的方法,有些相同的操作会得到不同的结果,
本文主要介绍的是Chrome()的使用方法。
其他的Webdriver可以参考官方文档
Chrome Webdriver Options
简介
这是一个Chrome的参数对象,再此对象中使用add_argument()方法可以添加启动参数,
添加完毕后可以在初始化Wedriver对象时将此Options对象传入,则九二一实现以他特定的
参数启动Chrome。
比如说以下例子
from selenium import webdriver
from selenium.webdriver.chrome.options import Options # 实例化一个启动参数对象
chrome_options = Options()
# 设置浏览器窗口大小
chrome_options.add_argument('--window-size=1366,768')
# 启动浏览器
browser = webdriver.Chrome(chrome_options=chrome_options)
# 请求百度首页
browser.get('http://www.baidu.com')
其中的 '--window-size=1366,7668'就是一个启动项参数
常用的启动项参数如下所示
启动参数 | 作用 |
---|---|
--user-agent="" | 设置请求头的User-Agent |
--window-size=1366,768 | 设置浏览器分辨率(窗口大小) |
--headless | *面运行(无窗口) |
--start-maximized | 最大化运行(全屏窗口) |
--incognito | 隐身模式(无痕模式) |
--disable-javascript | 禁用javascript |
--disable-infobars | 禁用浏览器正在被自动化程序控制的提示 |
最后一个'--disable-infobars',意思是这样的
如果不设置这个参数,浏览器打开会有这样的提示框
设置这个参数可以取消这个提示
完整的启动参数可以到此网页查看:
https://peter.sh/experiments/chromium-command-line-switches/
还要介绍几个方法:
禁用图片加载
prefs = {
'profile.default_content_setting_values' : {
'images' : 2
}
}
chrome_options.add_experimental_option('prefs',prefs)
禁用浏览器弹窗
prefs = {
'profile.default_content_setting_values' : {
'notifications' : 2
}
}
options.add_experimental_option('prefs',prefs)
注意这些也算是启动参数,要写在browser = webdriver.Chrome(chrome_options=chrome_options)之前