如何解决使用 ShadowRoot 在打印预览应用程序中单击取消按钮
我正在尝试单击 Chrome 打印预览应用程序中的“取消”按钮。我尝试了多种解决方案,但最终还是使用了 this question,这对我有很大帮助 .
我已按照相同的步骤取消打印预览应用程序按钮,但我一直收到:
Message: javascript error: Cannot read property 'shadowRoot' of null
(Session info: chrome=89.0.4389.114)
这是导致此错误的代码:
cancelButton = driver.execute_script(
"return document.querySelector('print-preview-app').shadowRoot.querySelector('print-preview-sidebar').shadowRoot.querySelector('print-preview-button-strip').querySelector('cr-button.cancel-button')")
cancelButton.click()
我的问题: 如何在打印预览应用中点击取消按钮?
更新:
我已按照前面问题的答案进行操作,但我一直收到 no such element
消息:
这是更新后的代码:
def expand_shadow_element(element):
shadow_root = driver.execute_script('return arguments[0].shadowRoot',element)
return shadow_root
root1 = driver.find_element_by_css_selector('print-preview-app')
shadow_root1 = expand_shadow_element(root1)
root2 = shadow_root1.find_element_by_css_selector('print-preview-sidebar')
shadow_root2 = expand_shadow_element(root2)
root3 = shadow_root2.find_element_by_css_selector('print-preview-button-strip')
shadow_root3 = expand_shadow_element(root3)
cancel_button = shadow_root3.find_element_by_css_selector("cancel-button")
cancel_button.click()
这里是错误:
Message: no such element: Unable to locate element: {"method":"css selector","selector":"print-preview-app"}
(Session info: chrome=89.0.4389.128)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。