我正在使用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元素为空。
答案 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]