WebDriver:通过CSSSelector或XPath查找元素
问题描述:
我在下一页获取元素<i class="angle-up"></i>
时遇到问题。选择应取决于"data-id"
值。提前致谢。WebDriver:通过CSSSelector或XPath查找元素
<li class="recent" data-to="3" data-off="23" data-id="5">
<a class="collapse in" href="/board">
<span>
Board
</span>
<i class="angle-up"></i>
</a>
</li>
<li class="" data-to="3" data-off="23" data-id="7">
<a class="collapse in" href="/set">
<span>
Set
</span>
<i class="angle-up"></i>
</a>
</li>
答
嗯,我想如果值数据-ID依赖,那么你可能需要将XPath或CSS选择3个部分,如下分割:
'第一部分= //李[@ data_id = ] // I [@类= '角向上 ']
2部分=
第三部分=(使用适当的变量取在运行时该值)'
,现在你可以使用下面的代码使用元素
public class TestElement {
public static void main(String args[])
{
WebDriver driver= new FirefoxDriver();
driver.get(YOUR INTERNAL URL HERE.);
String elementPart1=//li[@data_id='
String elementPart2=5 //keeping the id you are looking for
String elementPart3=']//i[@class='angle-up']
WebElement element = driver.findElement(By.xpath(elementPart1+elementPart2+elementPart3);
}
}
在这里,你可能会看到这样的XPath的一个例子是
//li[@data_id='5']//i[@class='angle-up']
另外,如果我会建议你使用检查firefinder这是一个firebug扩展名,用于验证xpath是否正确。
作品。感谢帮助! – 2014-11-01 02:25:03