如何使用webdriver获取父元素的所有子名称

时间:2014-07-17 00:02:47

标签: java selenium

我正在使用带有java的webdriver,我尝试获取网页中所有父节点的列表。 目标是: 1st-获取所有父元素的元素名称 第二步 - 将新列表与现有列表进行比较 以检测是否在网页中添加或删除或修改了新元素。

所以我的HTML代码是:

<div class="list"> 
 <ul>
    <li>
        <h4>
            Content
        </h4>
        <ul class="list">
            <li class="component-panel-item" data-cpn="summary"></li>
            <li class="component-panel-item" data-cpn="file"></li>
            <li class="component-panel-item" data-cpn="text"></li>
            <li class="component-panel-item" data-cpn="graph"></li>
  </li>
     <li>
      <h4>

所以我试过这个,

Select select = new Select(driver.findElement(By.xpath("html/body/div[2]/div/div[2]/div/d‌​iv/div[1]/select")));
int i =select.getList();
System.out.print("Options ="+i);

我没有获得任何节点名称列表。

任何人都可以提出解决方案。 THX

1 个答案:

答案 0 :(得分:0)

Select用于下拉列表。您正在处理<ul>

这种方法应该更好:

WebElement ulList = driver.findElement(By.className("list"));

List<WebElement> values = ulList.findElements(By.tagName("li"));

int i = values.size();
System.out.print("Options = " + i);