当前位置: 首页 > 面试题库 >

在chromedriver中禁用PDF Viewer插件

谷梁云瀚
2023-03-14
问题内容

我正在尝试在Blackboard环境中批量下载很多文件(在世界各地的大学/学校中经常使用)。我能够检索文件所在的链接,但是一个市长问题:

当文件是.pdf文件时,它会显示在新的浏览器选项卡中,而不是被下载。例如,使用click()下载.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"]} # 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)

现在下载工作正常!



 类似资料:
  • 问题内容: 通过Selenium和c#使用图像时,如何禁用Google chrome中的图像? 我尝试了6种方法,但均无效果。 Chrome驱动程序:V2.2 Chrome版本:V29.0.1547.66 m selenium:V2.35 我所做的所有尝试都不会引起异常,它们可以正常运行,但仍显示图像: 尝试1: 尝试2: 尝试3: 尝试4: 尝试5: 尝试6: 问题答案: 使用http://ch

  • 问题内容: 我有一个安装程序,其中我的大多数项目都需要同时运行xtend插件才能实现compile和testCompile目标。我在pluginManagement部分中对其进行描述: 现在,有些项目不需要一个目标或另一个目标。我尝试了继承的标签,使用了随机属性,但是没有用。如何覆盖执行以仅包含所需目标? 更新 :这个故事的结论是,个人目标不能残废。可以管理的最小范围是。 问题答案: 通常,您只能

  • 我正在尝试在BlackBoard环境中批量下载大量文件(在世界各地的大学/学校中经常使用)。我能够检索文件所在的链接,但只有一个市长问题: 当文件是.pdf文件时,它会显示在新的浏览器选项卡中,而不是下载。例如,使用click()下载.xlsx文件工作正常。 我能改变驾驶模式来改变这种行为吗?怎么做? 编辑 我更新了问题以响应Ari的回答。它现在包含有关实际插件的更多信息。也许这可以用来识别必须禁

  • 问题内容: 我使用的父POM定义了我不想在子POM中运行的插件。如何完全禁用子pom中的插件? 约束:我不能更改父POM本身。 问题答案: 在禁用子POM中的Findbugs时,以下对我有用: 注意:Findbugs插件的完整定义在我们的父/超级POM中,因此它将继承该版本等。 在Maven 3中,您需要使用: 用于插件。

  • null [1558606783.990][信息]:启动Chrome:“C:\程序文件(x86)\google\chrome\application\chrome.exe”--禁用-背景-网络--禁用-客户端--网络钓鱼--检测--禁用-默认-应用程序--禁用-扩展--禁用-扩展--禁用-扩展--例外=“C:\user\user\appdata\local\temp\scoped_dir19964