2

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

在此处输入图像描述

我什至不知道从哪里开始,因为文档页面不包含所有可用选项的列表。而且,我还没有在chrome://flags/.

据我了解,我需要实例化Chrome Optionsor Desired Capabilities,设置特定的选项/功能并将Chrome OptionsorDesired Capabilities实例传递给ChromeDriver构造函数。

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


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

4

1 回答 1

2

这是通过检查这个特定 Chrome 设置 的元素源来解决的:在此处输入图像描述

经过检查的 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')
于 2014-08-11T02:31:47.953 回答