Python 在chromedriver中禁用PDF查看器插件

Python 在chromedriver中禁用PDF查看器插件,python,python-2.7,selenium,selenium-chromedriver,Python,Python 2.7,Selenium,Selenium Chromedriver,我正在尝试在黑板环境中批量下载大量文件(在世界各地的大学/学校中大量使用)。我能够检索文件仅存在一个问题的链接: 当文件为.pdf文件时,它将显示在新的浏览器选项卡中,而不是下载。例如,xlsx文件通过单击下载()就可以了 我可以更改驱动器设置以更改此行为吗?怎么做 编辑 我根据Ari的回答更新了这个问题。它现在包含了更多关于实际插件的信息。也许这可以用来识别必须禁用的插件 Chrome PDF Viewer (2 files) Name: Chrome PDF V

我正在尝试在黑板环境中批量下载大量文件(在世界各地的大学/学校中大量使用)。我能够检索文件仅存在一个问题的链接:

当文件为.pdf文件时,它将显示在新的浏览器选项卡中,而不是下载。例如,xlsx文件通过单击下载()就可以了

我可以更改驱动器设置以更改此行为吗?怎么做

编辑
我根据Ari的回答更新了这个问题。它现在包含了更多关于实际插件的信息。也许这可以用来识别必须禁用的插件

Chrome PDF Viewer (2 files)

   Name:            Chrome PDF Viewer
       Version: 
       Location:    chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/
       Type:        BROWSER PLUGIN
                    Disable
       MIME types:  MIME type        Description     File extensions
                    application/pdf                  .pdf

   Name:            Chrome PDF Viewer
       Description: Portable Document Format
       Version: 
       Location:    internal-pdf-viewer
       Type:        PPAPI (out-of-process)
                    Disable
       MIME types:  MIME type        Description    File extensions
                    application/x-google-chrome-pdf Portable Document Format    
                    .pdf   

您可以将插件设置为禁用作为首选项吗

chromeOptions = webdriver.ChromeOptions()
prefs = {"plugins.plugins_disabled" : "Chrome PDF Viewer"}
chromeOptions.add_experimental_option("prefs",prefs)
chromedriver = "path/to/chromedriver.exe"
driver = webdriver.Chrome(executable_path=chromedriver, chrome_options=chromeOptions)

请参阅“”和“”。

Ari的回答几乎可以正常工作。我只需要将插件的名称封装到一个列表中:

chromeOptions = webdriver.ChromeOptions()
prefs = {"plugins.plugins_disabled" : ["Chrome PDF Viewer"]} # Here should be a list
chromeOptions.add_experimental_option("prefs",prefs)
chromedriver = "path/to/chromedriver.exe"
driver = webdriver.Chrome(executable_path=chromedriver, chrome_options=chromeOptions)

下载现在工作得很好

Chrome 57更改设置。。。 使用此选项可禁用Chrome PDF viewer:

//To disable PDF viewer plugins with Chrome 57
chromePrefs.put("plugins.always_open_pdf_externally", true);

谢谢,但不是为我工作。。当我检查插件时,它不会禁用插件。我更新了这个问题,现在它包含了更多关于实际插件的信息。也许这可以用来识别必须被禁用的插件..奇怪,很高兴你让它工作了,而且你教了我一些关于chromedriver的知识:)这似乎不再管用了。例如,请参阅。最近使用此命令解决的问题是:
prefs={“plugins.always_open_pdf_external”:True}
事实上,
'plugins.plugins_disabled':[“Chrome pdf Viewer”],
不再工作(从Chrome 57开始)!谢谢你,你有正确的解决方案!您是如何发现的?在Python中,使用:
chrome\u options=webdriver.ChromeOptions();chrome_选项。添加实验性选项(“prefs”,“download.prompt_for_download”:False,“plugins.always_open_pdf_external”:True})
在Robotframework中,使用:
${prefs}创建字典下载。默认目录${CURDIR}plugins.always_open pdf_externally${True}
注意
Create Dictionary
${TRUE}