Selenium is a multi-platform multi-browser + + multi-automated test version of the browser frame.
Selenium when you start the browser can be specified parameters need to start by desired_capbilities platform, browser, browser version and startup parameters.
ChromeOptions is chromedriver supported browser startup option.
from selenium import webdriver
options = webdriver.ChromeOptions()
options common attributes and methods are:
- binary_location = '': Specifies the path to Chrome
- debuger_address = ': a path to specify debugging
- headless: no interface mode
- add_argument (): add the boot argument
- add_extension: Add a local plug-in
- add_experimental_option: Adding the Experiment Options
- to_capablilities: The options into standard formats capablitiies
By add_argument () start parameters can be added, such as initialization window size, stealth mode.
options.add_argument('headless') # 无界面启动,也可以直接设置options.headless=True
driver = webdriver.Chrome(options=options) # 相当于 driver = webdriver.Chrome(desired_capabilities=options.to_capablities())
However, due to chromedriver Chrome browser and updated version, I found that some parameters can not take effect in the Mac version 80 Chrome + version 80 chromedriver in
ChromeOptions parameters that take effect
# 无界面模式
options.add_argument('headless')
# 指定用户客户端-模拟手机浏览
options.add_argument('user-agent="MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"')
# 禁用图片加载
options.add_argument('blink-settings=imagesEnabled=false')
# 隐身模式
options.add_argument('incognito')
# 自动打开开发者工具
options.add_argument("auto-open-devtools-for-tabs")
# 设置窗口尺寸,注意宽高之间使用逗号而不是x
options.add_argument('window-size=300,600')
# 设置窗口启动位置(左上角坐标)
options.add_argument('window-position=120,0')
# 禁用gpu渲染
options.add_argument('disable-gpu')
# 全屏启动
options.add_argument('start-fullscreen')
# 全屏启动,无地址栏
options.add_argument('kiosk')
# 启动时,不激活(前置)窗口
options.add_argument('no-startup-window')
...
Invalid parameter
options.add_argument('--start-maximized') # 最大化启动,无效
options.add_argument('url=https://www.baidu.com/') # 设置启动的url,无效
options.add_argument('disable-infobars') # 禁用inforbar,无效
options.add_argument('hide-scrollbars') # 隐藏滚动条,无效
The reason is not clear, there are known or welcome message solutions.