【发布时间】:2018-02-27 01:54:27
【问题描述】:
页面有一点:
<label>
<input type="checkbox">
</input>
" some text"
</label>
我需要找到一个包含“一些文本”的元素。 如果我使用
WebElement().ByXPath("//div/label[contains(text(),'some text')]");
但这并没有给出结果。找不到元素。
但是!!如果我尝试使用
获取此类元素的属性(InnerHTML、GetText、innerText) WebElement.ByXPath("//div/label").GetAttribute("InnerHTML"/"innerText");
WebElement.ByXPath("//div/label").Text;
有正确的结果 (WebElement.ByXPath("//div/label").Text=="some text")!
对于这个 XPath 元素:
WebElement().ByXPath("//div/label[contains(@innerHtml,'some text')]");
WebElement().ByXPath("//div/label[contains(@innerText,'some text')]");
它也不起作用。
为什么会这样?为什么我无法通过页面上的唯一文本找到元素?
【问题讨论】:
-
“some text”中有一些空格,例如“Some text”
-
但我使用“包含”。子字符串确实是整个字符串的一部分
-
我尝试从这篇文章中做出决定。它不起作用
-
我在你的 sn-p 中没有看到任何
<div>...
标签: c# google-chrome selenium xpath selenium-webdriver