【发布时间】:2020-06-29 20:28:46
【问题描述】:
此链接是一个 PDF 文件,可在 Chrome PDF file 中打开。 我可以从这个页面以某种方式保存这个 PDF 文件吗? 我用这样的设置运行 chrome
driver.SetPreference "download.default_directory", "c:\chr"
driver.SetPreference "download.directory_upgrade", True
driver.SetPreference "download.prompt_for_download", False
但是当您按下 CONTROL + S 时,仍会出现另存为窗口。 我可以直接从 Chrome 下载 PDF 吗?
更新代码:
这很好用:
Public Sub browser_open()
Set driver = New ChromeDriver
driver.SetPreference "download.prompt_for_download", False
driver.AddArgument "--kiosk-printing"
driver.Start "chrome"
driver.get "https://data2.manualslib.com/pdf3/53/5221/522008-haier/washing_machine.pdf?b76112ef24159605ca8df71689bce0a7"
driver.SendKeys keys.ArrowDown
driver.SendKeys keys.ArrowDown, keys.ArrowLeft
但如果我想按“CONTROL + S”:
driver.SendKeys keys.Control, "s"
什么都没有发生。
【问题讨论】:
-
这是一个网站网址,而不是直接下载链接。如果您打算通过在 chrome 中按下载来下载,它位于 shadow-root 中,并且需要 API 接口。在此处查看示例:stackoverflow.com/a/52906215/6241235
-
感谢您的回答。我尝试使用您的示例,但
.SendKeys keys.Control, "s"在此 PDF 页面 link 上不适用于我,在.SendKeys keys.Control, "s"未打开另存为对话框之后 -
你的窗把手选对了吗?
-
我只有一个 Chrome 窗口。我更新了我的代码。我的错误在哪里?
-
我的意思是使用我发送的链接中的解决方案。如果没有 API 调用,您将无法通过 shadow-root 与打印 pdf 进行交互
标签: vba selenium google-chrome selenium-chromedriver