由于我第一次使用硒这一事实,我选择了一个没有参数的子元素。 我正试图让click-div“元素被点击”来执行点击。
爪哇:
WebElement element = driver.findElement(By.className("parent"));
WebElement element2 = element.findElement(By.xpath("/div/div/div")); // should be wrong
element2.click();
给定HTML代码:
<div class="parent">
<div>
<div>
<div>element to be clicked</div>
</div>
</div>
</div>
答案 0 :(得分:1)
您可以使用
element.findElement(By.xpath("//div[text()='element to be clicked']"));
使用RegEx
element.findElement(By.xpath("//div[matches(text(),'RegExExpression']"));
答案 1 :(得分:0)
虽然没有什么可以直接识别,但我们可以做这样的事情......
List<WebElement> divs = driver.findElements(By.tagname("div")); //This will return all div elements
然后我们可以尝试这个div独有的东西..
for(int i = 0; i < divs.size(); i++) {
if(divs.get(i).getText().equals("element to be clicked")) {
divs.get(i).click();
break;
}
}