Selenium WebDriver:通过CSSSelector或XPath查找元素
我在下一页获取元素Selenium WebDriver:通过CSSSelector或XPath查找元素,selenium,xpath,webdriver,Selenium,Xpath,Webdriver,我在下一页获取元素时遇到问题。选择应取决于“数据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>
时遇到问题。选择应取决于“数据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>
我认为,如果该值取决于数据id,那么您可能需要将Xpath或Css选择器拆分为3个部分,如下所示:
第1部分=//li[@data\u id=]
Part2=(在运行时使用适当的变量获取此值)
Part3=']//i[@class='angle-up']
现在您可以使用以下代码来使用元素
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']
另外,我建议您使用扩展名检查xpath是否正确。有效。谢谢你的帮助!