如何告诉 Selenium 在 Chrome 75 的打印弹出窗口上按取消?
我一直在使用以下建议的解决方案:https://stackoverflow.com/a/41670021/4633408
I have been using the the suggested solution from : https://stackoverflow.com/a/41670021/4633408
自 Chrome 71 以来它运行良好.
And it worked perfectly since Chrome 71.
executor.executeScript("document.querySelector("print-preview-app").shadowRoot.querySelector("print-preview-header").shadowRoot.querySelector("paper-button.cancel-button").click();");
但它不再有效.
有没有人想办法在 Chrome 75 的打印预览中点击取消"?
Has anyone figured out a way to click, "Cancel" in the print preview for Chrome 75?
我发现了异常,它只是说:
I caught the exception and it simply says:
e:org.openqa.selenium.WebDriverException: unknown error: Cannot read property 'shadowRoot' of null
推荐答案
在版本 75.0.3770.142 (Official Build) (64-bit) 上测试了这个.他们现在有额外的元素
Tested this on Version 75.0.3770.142 (Official Build) (64-bit) .They have additional element now
<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
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();")
EDIT :: 适用于版本 79.0.3945.88(官方版本)(64 位)
EDIT :: For Version 79.0.3945.88 (Official Build) (64-bit)
document.querySelector("print-preview-app").shadowRoot.querySelector("print-preview-sidebar").shadowRoot.querySelector("print-preview-button-strip").shadowRoot.querySelector("cr-button.cancel-button").click()
相关文章