我如何告诉硒在 Chrome 75 中的打印弹出窗口中按取消



我一直在使用建议的解决方案: https://stackoverflow.com/a/41670021/4633408

自 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

在版本 75.0.3770.142(官方版本((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()

with 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()

在Chrome 77中,打印对话框的html元素再次更改。并在 Chrome 78 中再次更改。在我们的 jenkins 上,版本比我笔记本电脑上的最新版本落后几个数字时,非常烦人。(我希望他们很快为 docker 容器启用 jenkins(

对于 Chrome 78.0.3904.70:

在控制台中测试:

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

executor.executeScript:

executor.executeScript("document.querySelector("print-preview-app").shadowRoot.querySelector("print-preview-sidebar").shadowRoot.querySelector("print-preview-button-strip").shadowRoot.querySelector("cr-button.cancel-button").click();");

在打印弹出窗口之前运行此代码:

executor.executeScript("window.print = function(){ return false;};");

相关内容

  • 没有找到相关文章

最新更新