我在下一页上遇到元素<i class="angle-up"></i>
时遇到问题。选择应取决于"data-id"
值。提前致谢。
<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>
答案 0 :(得分:0)
我认为如果该值依赖于数据ID,那么您可能需要将Xpath或Css选择器拆分为3部分,如下所示:
1部分= //的Li [@data_id =&#39;
Part2 =(使用适当的变量在运行时获取此值)
Part3 =&#39;] // @ [@class =&#39; angle-up&#39;]
现在您可以使用以下代码来使用元素
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是否正确。