【发布时间】:2020-12-27 03:24:00
【问题描述】:
我正在尝试从 https://www.virustotal.com/gui/file/03d1316407796b32c03f17f819cca5bede2b0504ecdb7ba3b845c1ed618ae934/details 获取 Signers、Counter Signers 和 X509 Signers 下的所有内容
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)
结果不包括签名者、会签者和 X509 签名者下的部分
所以,为了得到这些部分,我尝试了 shadowRoot.querySelector()。
但是它并没有给我我需要的一切。
即当我试图得到这部分时
通过做
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)
它什么也没打印。
请帮忙!提前致谢
【问题讨论】:
-
使用 .get_attribute('textContent') 代替 .text。