一尘不染

如何告诉Selenium在Chrome 75的打印弹出窗口中按“取消”?

selenium

自Chrome 71以来,它运行完美。

executor.executeScript("document.querySelector(\"print-preview-app\").shadowRoot.querySelector(\"print-preview-header\").shadowRoot.querySelector(\"paper-button.cancel-button\").click();");

但它不再起作用。

有没有人想出一种方法可以在Chrome 75的打印预览中单击“取消”?

我捕获到异常,它只是说:

 e:org.openqa.selenium.WebDriverException: unknown error: Cannot read property 'shadowRoot' of null

阅读 819

收藏
2020-06-26

共1个答案

一尘不染

在75.0.3770.142(Official Build)(64位)版本上进行了测试。它们现在具有其他元素

<print-preview-sidebar id="sidebar"></print-preview-sidebar>

用于控制台中的测试

document.querySelector("print-preview-app").shadowRoot.querySelector("print-preview-sidebar").shadowRoot.querySelector("print-preview-header").shadowRoot.querySelector("paper-button.cancel-button").click()

与executor.executeScript

executor.executeScript("document.querySelector(\"print-preview-app\").shadowRoot.querySelector(\"print-preview-sidebar\").shadowRoot.querySelector(\"print-preview-header\").shadowRoot.querySelector(\"paper-button.cancel-button\").click();")

编辑 ::对于版本 79.0.3945.88 (官方内部版本)(64位)

document.querySelector("print-preview-app").shadowRoot.querySelector("print-preview-sidebar").shadowRoot.querySelector("print-preview-button-strip").shadowRoot.querySelector("cr-button.cancel-button").click()
2020-06-26