使用Selenium,xpath获取标签但文本为空

时间:2011-12-19 22:34:33

标签: selenium

我正在使用Selenium WebDriver通过XPATH获取一堆标签。 xpath成功找到标记,但返回的IWebElements的“Text”属性为空。

这是HTML:

<ul>
<li id="foo1">someValue</li>
<li id="foo2">someOtherValue</li>
</ul>

和xpath:

//ul/li[startswith(@id, 'foo')]

有什么想法吗? Xpath肯定会抓取正确的元素,但Text元素为空。

1 个答案:

答案 0 :(得分:1)

尝试使用此代码获取第2个元素的文本 - <li id="foo2">someOtherValue</li>

WebElement fooEle = driver.findElement(By.xpath("//descendant::ul/li[starts-with(@id,'foo')][2]"));
String fooEleText = fooEle.getText();
System.out.println("foo Element Text -" + fooEleText); //should print expected text "someOtherValue"

注意 - 如果要获取第一个元素文本,请更改xpath的索引值 也就是//descendant::ul/li[starts-with(@id,'foo')][1]