无法使用Python Selenium和shadowRoot.querySelector()定位特定元素

2024-06-16 13:07:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从https://www.virustotal.com/gui/file/03d1316407796b32c03f17f819cca5bede2b0504ecdb7ba3b845c1ed618ae934/details获取签名者、反签名者和X509签名者下的所有内容

from selenium import webdriver
op = webdriver.ChromeOptions()
op.add_argument('headless')
driver = webdriver.Chrome(executable_path="/Desktop/chromedriver", options=op)
details_url = "https://www.virustotal.com/gui/file/03d1316407796b32c03f17f819cca5bede2b0504ecdb7ba3b845c1ed618ae934/details"

driver.get(details_url)
element = driver.find_element_by_xpath("/html/body/vt-ui-shell")
print(element.text)

结果不包括Signers、Counter Signers和X509 Signers下的部分

result

因此,为了获得这些部分,我尝试了shadowRoot.querySelector()

然而,它并没有给我所需要的一切

也就是说当我想得到这个零件的时候

enter image description here

通过做

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.signer-info').querySelector('span').querySelector('vt-ui-key-val-table').shadowRoot.querySelector('div.row').querySelector('div.value').querySelector('div > div > div:nth-child(1) > div > a:nth-child(2)')").text)

它什么也没印

请帮忙!提前谢谢


Tags: httpsdivuiwwwdriverelementdetailsfile
1条回答
网友
1楼 · 发布于 2024-06-16 13:07:35

如果你想要微软的时间

elem=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.signer-info').querySelector('span').querySelector('vt-ui-key-val-table').shadowRoot.querySelector('div.row').querySelector('div.value').querySelector('div > div > div:nth-child(1) > div > a:nth-child(2)')")
print(elem.get_attribute('textContent'))

相关问题 更多 >