使用Selenium Webdriver从ul下的li标签中提取数据

时间:2016-07-11 11:06:00

标签: html xpath

<ul class="dropdown-menu" aria-labelledby="dLabel">
   <li><a href="Resource/Guide/TCS Health Insurance - Hospitalisation Claim Reimbursement Guidelines.pdf" target="_blank">Hospitalization Guide</a></li>
   <li><a href="Resource/Guide/TCS Helath Insurance - Domiciliary Claim Reimbursement Guidelines.pdf" target="_blank">Domiciliary Guide</a></li>
</ul>

我正在尝试获取每个li列表下的数据,但无法从上面的li列表中提取值 Domiciliary Guide

在下面的代码中,元素列表显示为元素,但第一个列表元素ele.getText()没有给出任何输出。

有人可以帮助我从Li中提取数据吗?

WebElement ul=testDriver.findElement(By.xpath("//*[@id='header']/div/div/ul[1]/li[5]/div/ul")); 
List<WebElement> elements=ul.findElements(By.tagName("li"));
            System.out.println("elements::"+elements);

            for(WebElement ele:elements){
            System.out.println("text"+ele.getText());
}

谢谢!

2 个答案:

答案 0 :(得分:0)

试试这个。我希望它有效

List<WebElement> li_value = driver.findElements(By.xpath("//*@id='header']/div/div/ul[1]/li[5]/div/ul/li"));
        for(int i = 0; i< li_value.size() ; i++ )
        {
            System.out.println(li_value.get(i).getText());
        }

答案 1 :(得分:0)

试试这个,

说明:作为价值&#34;家居指南&#34;位于标签&#34; a&#34;应该设计xpath直到标记&#34; a&#34;

List<WebElement> tag_value = driver.findElements(By.xpath("//*@id='header']/div/div/ul[1]/li[5]/div/ul/li/a"));
for(int i = 0; i< tag_value.size() ; i++ )
{
    System.out.println(tag_value.get(i).getText());
}