![](/img/trans.png)
[英]Python selenium find_element_by_xpath not finding existing element in page
[英]selenium python xpath trouble finding element text() on page
我正在嘗試驗證文本Active:
從此示例
<div class="details">
<p class="double">
<a href="url">Set as default</a>
<br>
<a id="modal124434" class="modalAction" href="#">Delete</a>
</p>
<span class="bold">TEXT</span>
: 1234567890 (12/2017)
<br>
Active:
<a class="game" href="#GAME">GAME</a>
</div>
我還需要檢查TEXT
以確保它在那里。 我使用以下內容找到TEXT
:
foo = b.find_element_by_xpath('//span[contains(text(),"TEXT")]/..')
當我print(foo.text)
我可以從html示例中看到所有文本。 所以,我認為我可以做這樣的事情:
b.find_element_by_xpath('//span[contains(text(),"TEXT")]/..[contains(text(),"Active:")]/a[text()="GAME"]
但我收到了NoSuchElement異常。 我也嘗試過:
b.find_element_by_xpath('//*[contains(text(),"Active")]')
仍然一無所獲 任何幫助將非常感激。
您可以嘗試以下xpath:- //span/following-sibling::text()[2]
driver.find_element_by_xpath(“ // span / following-sibling :: text()[2]”)。text;
要打印元素文本TEXT , Active:和GAME ,可以使用以下代碼塊:
要打印TEXT
:
print(b.find_element_by_xpath("//div[@class='details']//span[@class='bold']").get_attribute("innerHTML"))
要打印Active:
:
fullsting = b.find_element_by_xpath("//div[@class='details']").get_attribute("innerHTML") part_word = fullsting.split(")") words = part_word[1].split("G") print(words[0])
要打印GAME
:
print(b.find_element_by_xpath("//div[@class='details']//a[@class='game']").get_attribute("innerHTML"))
回到這一點,我找到了一種方法來做我本來想要的
b.find_element_by_xpath('//span[contains(text(),"TEXT")]/..[contains(.,"Active:")]/a[text()="GAME"]')
似乎使用text()
僅查看出現在該Web元素上的第一個textNode。 但使用.
查看該元素的所有textNode以及附加到當前元素“之下”的任何childNode的所有textNode。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.