Can';t使用Python Selenium在阴影根(open)中查找元素
我正在尝试从中获取Signers、Counter Signers和X509 Signers下的内容 结果不包括Signers、Counter Signers和X509 Signers下的部分 我也试着去做Can';t使用Python Selenium在阴影根(open)中查找元素,python,selenium,selenium-webdriver,shadow-dom,queryselector,Python,Selenium,Selenium Webdriver,Shadow Dom,Queryselector,我正在尝试从中获取Signers、Counter Signers和X509 Signers下的内容 结果不包括Signers、Counter Signers和X509 Signers下的部分 我也试着去做 driver.find_element_by_xpath("//*[@id="details"]//div/vt-ui-signature-info//vt-ui-expandable/span") 找到那部分,但它最终给了我 NoSuchEleme
driver.find_element_by_xpath("//*[@id="details"]//div/vt-ui-signature-info//vt-ui-expandable/span")
找到那部分,但它最终给了我
NoSuchElementException: Message: no such element: Unable to locate element
这将打印签名版本信息,类似地,您必须找到rool并调用shadowroot,然后找到其他根的元素
Shadow dom不是文档的一部分,因此您必须使用javascript executor查找文档中的元素签名者字段(例如Microsoft Windows)嵌套在其中
解决方案 要提取文本,您必须使用Microsoft Windows,并且可以使用以下内容:
- 代码块:
driver.get('https://www.virustotal.com/gui/file/03d1316407796b32c03f17f819cca5bede2b0504ecdb7ba3b845c1ed618ae934/details') print(driver.execute_script("return document.querySelector('file-view').shadowRoot.querySelector('vt-ui-file-details').shadowRoot.querySelector('vt-ui-signature-info').shadowRoot.querySelector('vt-ui-expandable-detail').shadowRoot.querySelector('slot')").text)
- 控制台输出:
Microsoft Windows
工具书类 您可以在以下内容中找到一些相关讨论:
driver.get('https://www.virustotal.com/gui/file/03d1316407796b32c03f17f819cca5bede2b0504ecdb7ba3b845c1ed618ae934/details')
print(driver.execute_script("return document.querySelector('file-view').shadowRoot.querySelector('vt-ui-file-details').shadowRoot.querySelector('vt-ui-signature-info').shadowRoot.querySelector('vt-ui-expandable-detail').shadowRoot.querySelector('slot')").text)
Microsoft Windows