为了账号安全,请及时绑定邮箱和手机立即绑定

自动 Chromedriver PDF 下载会弹出按钮?

自动 Chromedriver PDF 下载会弹出按钮?

郎朗坤 2021-06-09 22:01:46
我正在使用 Selenium 下载通过许多复杂的登录层和其他浏览器操作访问的嵌入式 pdf。我已经根据其他各种帖子的说明使用以下选项设置了我的 chromedriver:    chromedriver = r'C:\Users\cj9250\AppData\Local\Continuum\anaconda3\chromedriver.exe'    download_dir = "C:\\Users\\CJ9250\\Downloads\\" # for linux/*nix, download_dir="/usr/Public"    options = webdriver.ChromeOptions()    profile = {            "plugins.plugins_list": [{"enabled": False, "name": "Chrome PDF Viewer"}],            "download.default_directory": download_dir ,            "download.extensions_to_open": "applications/pdf",           "plugins.always_open_pdf_externally": True,           "download.prompt_for_download": False,           "safebrowsing.enabled": True           }    options.add_experimental_option("prefs", profile)    browser = webdriver.Chrome(chromedriver, chrome_options=options)但是,在下载到我指定的目录之前,我必须单击此框:“打开”元素没有我可以通过检查器找到的 xpath。我猜这是 ChromeDriver 的某种内部安全设置,但我找不到绕过它的方法。我的最终目标只是在打开的 Selenium 测试页面中下载嵌入的 PDF,这似乎是唯一建议的行动方案。报告Sho.do OPEN
查看完整描述

1 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

我不确定它为什么起作用,但是,我将我的配置文件变量修改为:


profile = {

            "plugins.plugins_list": [{"enabled": False, "name": "Chrome PDF Viewer"}], # Disable Chrome's PDF Viewer

           "download.default_directory": download_dir , 

           "download.extensions_to_open": "applications/pdf",

           "safebrowsing.enabled": False

           }

从那里我能够使用打开按钮在页面上获得一个框架元素。元素属性之一有一个 URL。当我指示浏览器转到 URL 时,它会将文件下载到我指定的目录!

//img1.sycdn.imooc.com//60c9b6a60001b9d806390629.jpg

查看完整回答
反对 回复 2021-06-16
  • 1 回答
  • 0 关注
  • 462 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号