VBA Selenium Chromedriver - 设置首选项以关闭“另存为”对话框无效。

3

图片描述我有一个程序,它打开了一个PDF文件并且我想要保存这个文件。我原本认为使用SetPreferences可以绕过SaveAs对话框,但是现在又弹出了对话框。有没有人成功地使用SetPreferences来关闭SaveAs对话框呢?

我是不是把这些选项设置放错了位置?我的理解是在启动机器人之前就应该设置。

Sub CompanyName()

Dim bot As New Selenium.WebDriver

MyFolder = ThisWorkbook.Path
bot.SetPreference "download.default_directory", MyFolder
bot.SetPreference "download.directory_upgrade", True
bot.SetPreference "download.prompt_for_download", False

bot.Start "Chrome", "https://www.intacct.com/ia/acct/login.phtml?[![enter image description here][1]][1]_ga=2.13247287.1007588550.1536894830-1229002215.1536894830"
bot.Get "/"


bot.FindElementById("company").SendKeys "Company ID"
bot.Wait 500
bot.FindElementById("login").SendKeys "Username"
bot.Wait 500
bot.FindElementById("passwd").SendKeys "Password"
bot.Wait 500
bot.FindElementById("retbutton").Click

Stop

'bot.SwitchToParentFrame
Dim menuitem As WebElement
Set menuitem = bot.FindElementByCss("#mainmenu > div > div:nth-child(7) > div.iamenutitlewrapper > span")

bot.Actions.MoveToElement(menuitem).Perform
bot.FindElementByXPath("//span[@class='iamenutitle'][contains(text(),'Accounts Payable')]").Click
bot.FindElementByCss("#mainmenu > div > div:nth-child(7) > div.iamenu.mega.setup-closed > div > div > table > tbody > tr:nth-child(5) > td:nth-child(2) > span:nth-child(2)").Click
bot.SwitchToFrame "iamain"

bot.FindElementByName("F_RECORDID").SendKeys "123"
bot.SendKeys bot.Keys.Enter
bot.Wait 500
bot.FindElementByLinkText("View").Click
bot.Wait 500
bot.FindElementByCss("span.buttons.view_attachment").Click
bot.SwitchToNextWindow
bot.SendKeys bot.Keys.Control, "s"

1
您也可以使用API调用来完成“另存为”过程。https://stackoverflow.com/a/52906215/6241235 - QHarr
1
这是文件资源管理器的“另存为”对话框还是Chrome浏览器下载对话框?能分享一张截图吗? - QHarr
把以下与编程有关的内容从英语翻译成中文。仅返回翻译后的文本:完成。对不起,一开始应该附上它。 - Sean
你可能想尝试我上面提到的API方法。 - QHarr
1个回答

0

代码看起来没问题! 可能的原因是Selenium驱动程序版本。 尝试在此处更新官方链接上的enr驱动程序 chromedriver

希望能帮到你。 最好的问候, Pedro Azzam。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接