Selenium:选择没有参数的子元素

时间:2014-04-02 08:50:12

标签: java html selenium

由于我第一次使用硒这一事实,我选择了一个没有参数的子元素。 我正试图让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>

2 个答案:

答案 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;
     }
}