如何使用带有硒和 python 绑定的 xpath 仅提取不在任何标签中的文本



页面链接是:"https://www.members.agta.org/assnfe/CompanySearch.asp?MODE=DETAIL&COID=1026706&COMPNAME=&CITYNAME=&STATENAME=&CITYID=0&STATEID=0&CTRYID=181&SEARCHIDENTIFIER=81.145.145.150_12/24/2019%203:31:24%20AM&RETAILMBRS=0&ORGTYPE=0&GEMSTONEID=-1&PRODUCTSID=-1&COMPANYDATA=&TID=2&GEMCOLORID=-1&GEMCUTID=-1&GEMQUALID=A">

这是我的目标 html:

<p><strong>Contact:</strong> 
Garmendia, Diane
<br>
<strong>Email:</strong> <a href="mailto:Diane33jewels@gmail.com">Diane33jewels@gmail.com</a><br>
<strong>P:</strong> 805-957-9100<br>
<strong>F:</strong>   805-957-4191<br>
<a href="http://www.33jewels.com" target="_blank">http://www.33jewels.com</a>
<!-- <b>Email Link:</b> $MC:EMAILLINKTOFORM$ -->
</p>

我需要使用 xpath 表达式提取"Garmendia, Diane"。

我试过使用:

cname=driver.find_element_by_xpath("//*[contains(text(), 'Contact:')]//following-sibling::text()[1]")

但是我得到的错误是:

Message: invalid selector: The result of the xpath expression "//*[contains(text(), 'Contact:')]//following-sibling::text()[1]" is: [object Text]. It should be an element.

要提取Garmendia, Diane,请使用javascripts executorchildNodes

诱导WebDriverWait(( 并等待element_to_be_clickable(( 并遵循以下XPATH

法典:

element=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//p[contains(.,'Contact:')]")))
print(driver.execute_script('return arguments[0].childNodes[1].textContent;', element))

最新更新