[英]Find Element By Text Using Selenium WebDriver
我有以下HTML頁面,並且我正在python下使用Selenium從頁面HTML中提取一些數據
<div class="secondary-content-col col-xs-12">
<div class="row">
<div class="col-xs-12">
<h2 class="h4"><span>Uthyres av:</span> Test</h2>
</div>
</div>
</div>
我想從標簽獲取測試文本,我已經嘗試過
driver.find_elements_by_xpath("//*[contains(., 'Uthyres')]")
但是它說找不到元素! 任何想法我該如何解決
您可以嘗試以下xpath
:
//*[contains(text(), 'Uthyres')]/parent::*/text()
代替contains(., ...)
使用contains(text(), ...)
,然后轉到父節點並提取文本。 注意這里的測試是標簽h2
的文本節點,而不是span
。
使用lxml
演示:
from lxml import etree
e = etree.fromstring("""<div class="secondary-content-col col-xs-12">
<div class="row">
<div class="col-xs-12">
<h2 class="h4"><span>Uthyres av:</span> Test</h2>
</div>
</div>
</div>""")
e.xpath('//*[contains(text(), "Uthyres")]/parent::*/text()')
# [' Test']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.