簡體   English   中英

使用Selenium WebDriver按文本查找元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM