这个问题最近让我抓狂,我已经在互联网上搜索了好几天,只是发现了一些未解答的问题。
是否可以以任何方式与 Chrome 浏览器内的 pdf-viewer 扩展进行交互?我只是在寻找一种方法来按下第一张图片中所示的红色标记的“打印”按钮,然后按下第二张图片中所示的标有“skriv ut”的蓝色按钮。这可以用 selenium/javascript 或任何其他工具以任何方式完成,还是我在浪费时间?预先感谢!
这里是一个测试站点:https://unec.edu.az/application/uploads/2014/12/pdf-sample.pdf
c# 中的示例(不幸的是我不会 js)可能会给你一些想法。
bool reachedDocumentViewer=false;
Actions actions = new Actions(_driver);
while (!reachedDocumentViewer)
{
actions.SendKeys(Keys.Tab).Perform();
Thread.Sleep(100); // or whatever short time needed
IWebElement activeElement = _driver.SwitchTo().ActiveElement();
var elementId = new String (activeElement.GetDomAttribute("id"));
if (elementId.StartsWith("DocumentViewer_")) {
reachedDocumentViewer = true;
}
// I'd suggest adding circuit breaker so you don't loop forever
}
actions.SendKeys(pdfPassword).Perform();
_driver.SwitchTo().ParentFrame();