设置特定的chrome驱动程序设置/选项

时间:2014-08-11 02:05:26

标签: google-chrome firefox selenium selenium-webdriver chrome-options

在通过Chrome下载“selenium设置之前,我需要取消选中”询问保存每个文件的位置:

enter image description here

我甚至不知道从哪里开始,因为documentation page不包含所有可用选项的列表。而且,我在chrome://flags/中找不到合适的设置。

据我了解,我需要实例化Chrome OptionsDesired Capabilities,设置特定选项/功能并将Chrome OptionsDesired Capabilities实例传递给{{ 1}}构造函数。

请注意,对于Firefox情况不同,有一个about:config页面,您可以在其中轻松找到设置并通过ChromeDriver进行设置。很简单。


我正在使用python绑定,但这不是一个要求,问题或多或少是通用的。

1 个答案:

答案 0 :(得分:2)

通过检查此特定Chrome设置的元素来源解决了这个问题: enter image description here

为它检查了HTML:

<div class="checkbox">
    <span class="controlled-setting-with-label">
      <input id="prompt-for-download" type="checkbox" pref="download.prompt_for_download" metric="Options_AskForSaveLocation">
      <span>
        <label for="prompt-for-download" i18n-content="downloadLocationAskForSaveLocation">Ask where to save each file before downloading</label>
        <span class="bubble-button controlled-setting-indicator" pref="download.prompt_for_download">
        <div tabindex="0" role="button"></div></span>
      </span>
    </span>
</div>

如您所见,input元素具有pref="download.prompt_for_download"属性。尤里卡!


现在我们可以设置选项,例如使用Python:

from selenium import webdriver

options = webdriver.ChromeOptions()
prefs = {'download.prompt_for_download': False}
options.add_experimental_option("prefs", prefs)

driver = webdriver.Chrome(chrome_options=options)
driver.get('http://stackoverflow.com')