所以有很长的开关列表可以传递给 chromedriver。
我想使用其中的一些,特别是--disable-logging
.
我不想(只)在本地使用 chromedriver,我想编写我所有的代码来使用 webdriver.Remote()
.
这是我用来设置 chrome 驱动程序的代码,它适用于 vanilla chrome 实例。
driver = webdriver.Remote(
command_executor = 'http://127.0.0.1:4444/wd/hub',
desired_capabilities = {
'browserName': 'chrome',
}
)
但是我不知道如何传递其他选项。
当我查看时,driver.capabilities
我看到以下内容
{
u'rotatable': False,
u'browserConnectionEnabled': False,
u'acceptSslCerts': False,
u'cssSelectorsEnabled': True,
u'javascriptEnabled': True,
u'nativeEvents': True,
u'databaseEnabled': False,
u'chrome.chromedriverVersion': u'23.0.1240.0',
u'locationContextEnabled': False,
u'takesScreenshot': True,
u'platform': u'MAC',
u'browserName': u'chrome',
u'webdriver.remote.sessionid': u'1352096075502',
u'version': u'22.0.1229.94',
u'applicationCacheEnabled': False,
u'webStorageEnabled': True,
u'handlesAlerts': True,
u'chrome.nativeEvents': False
}
我没有看到任何其他参数(除了desired_capabilities
)用于将参数传递给 chromedriver 通过webdriver.Remote
. 这是真的?我错过了什么吗?还有其他自定义chromedriver的策略吗?
CromeDrive wiki 页面上有一个很好的示例,显示“使用特定标志启动 Chromium”,但是所有示例都是针对webdriver.Chrome()
; 该示例也在 java 中,因此它甚至可能在 python 中不起作用。
如果有人让这个工作或可以告诉我这只是行不通,我将不胜感激。谢谢。
新问题
我不确定处理后续问题的最佳方式。
所以,我得到了问题的答案,但我仍然无法关闭日志记录。签出以下记录器行。
[0.455][INFO]: Launching chrome: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome --enable-logging --log-level=1 --disable-hang-monitor --disable-prompt-on-repost --dom-automation --full-memory-crash-report --no-default-browser-check --no-first-run --disable-background-networking --disable-sync --disable-translate --disable-web-resources --safebrowsing-disable-auto-update --safebrowsing-disable-download-protection --disable-client-side-phishing-detection --disable-component-update --disable-default-apps --use-mock-keychain --ignore-certificate-errors --disable-logging about:blank
我可以将参数传递--disable-logging
给 chromedriver,但它似乎只关心启用日志记录的第一个参数。我想我需要找出 Chrome 新实例的默认参数保存在哪里。