【发布时间】:2020-12-23 01:14:06
【问题描述】:
首先让我说我尝试了以下链接的 Stack Overflow 文章中的建议,但无济于事:
-
这个和我的问题最相似,没有答案Downloading PDF using Selenium Java not working in Chrome
-
How to download a pdf file in chrome using selenium webdriver
这是我的 ChromeOptions:
{
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.AddUserProfilePreference("download.prompt_for_download", false);
chromeOptions.AddUserProfilePreference("download.directory_upgrade", true);
chromeOptions.AddUserProfilePreference("download.default_directory", DOWNLOAD_DIR);
//chromeOptions.AddUserProfilePreference("disable-popup-blocking", true);
chromeOptions.AddUserProfilePreference("plugins.plugins_disabled", "Chrome PDF Viewer");
chromeOptions.AddUserProfilePreference("plugins.always_open_pdf_externally", true);
chromeOptions.AddArgument("--no-sandbox");
_driver = new ChromeDriver(chromeOptions);
}
你会注意到 ("disable-popup-blocking", true) 位被注释掉了,这是因为我没有看到这个:
返回到出现的下载所需的 PDF。
像上面所有链接的帖子一样,我需要在单击链接时下载 PDF 而不是在新窗口中打开它,并且由于 Selenium 对 PDF 的限制,我无法成功单击禁用查看器上的“打开”按钮。 Visual Studio 抛出以下异常:
根据 cmets 的要求,以下是尝试与禁用的 PDF 查看器交互的代码:
_driver.SwitchTo().Window(_driver.WindowHandles[1]);
_driver.FindElement(By.LinkText("Open")).Click();
是否有人对这里发生的事情有任何可能的解决方案或见解?我对编程还是比较陌生,如果有任何建议,我将不胜感激。
如果它完全相关,我尝试下载的 PDF 是 Salesforce Lightning PDF
【问题讨论】:
-
请在您的问题中包含代码。
-
@derloopkat 我用专门尝试与禁用的 PDF 查看器交互的代码更新了问题。
标签: c# selenium pdf selenium-webdriver selenium-chromedriver