如何使用Python将选项传递给Selenium Chrome驱动程序?

k10*_*107 63 python selenium google-chrome selenium-chromedriver

硒的文件中提到,在Chrome的webdriver可以采取的一个实例ChromeOptions,但我无法弄清楚如何创建ChromeOptions.

我希望将--disable-extensions旗帜传递给Chrome.

k10*_*107 109

在Selenium源代码中找到了chrome Options类.

用于创建Chrome驱动程序实例的用法:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--disable-extensions")
driver = webdriver.Chrome(chrome_options=chrome_options)
Run Code Online (Sandbox Code Playgroud)

  • 这个答案是救星.如果它对其他人有用,为了启用ES6 Harmony功能,调用是`chrome_options.add_argument(" - js-flags = - harmony")` (7认同)
  • 注意:`chrome_options` arg现在已被弃用,以支持更简单的`选项`,例如:`driver = webdriver.Chrome(options = chrome_options)` (6认同)

Has*_*aza 10

这就是我做到的.

from selenium import webdriver

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--disable-extensions')

chrome = webdriver.Chrome(chrome_options=chrome_options)
Run Code Online (Sandbox Code Playgroud)


And*_*yko 5

为使用DesiredCapabilities设置浏览器标志的人禁用 chrome 扩展的代码:

desired_capabilities['chromeOptions'] = {
    "args": ["--disable-extensions"],
    "extensions": []
}
webdriver.Chrome(desired_capabilities=desired_capabilities)
Run Code Online (Sandbox Code Playgroud)


use*_*572 5

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('--disable-logging')

# Update your desired_capabilities dict withe extra options.
desired_capabilities.update(options.to_capabilities())
driver = webdriver.Remote(desired_capabilities=options.to_capabilities())
Run Code Online (Sandbox Code Playgroud)

所需的功能和选项.to_功能()都是字典。您可以使用dict.update()方法将选项添加到主集中。