如何使用Selenium WebDriver打印下拉列表中的所有li项文本?

时间:2014-12-27 12:13:18

标签: java eclipse selenium selenium-webdriver

如何使用selenium li打印所有webdriver项目文字。 在这里,我想要某种类型的单行代码打印所有li项文本,如

  • 夹克,
  • 保护等。可以通过使用for循环

    <div class="dropdown  change_right">
     <ul>            
        <li>
            <a class="" title="Jackets" href="/collections/jackets">Jackets</a> 
        </li>
        <li>
            <a title="Jackets protective" href="/collections/jackets/jackets-protective" class="sub-link"> protective</a>
        </li>
        <li> 
            <a title="casual leather" href="/collections/jackets/casual-leather" class="sub-link">casual leather</a>
        </li>
        <li>
            <a class="" title="T-shirts &amp; shirts " href="/collections/t-shirts-shirts">T-shirts &amp; shirts </a>
        </li>
        <li> 
            <a title="shirts" href="/collections/t-shirts-shirts/shirts" class="sub-link">shirts</a>
        </li>
        <li>
            <a title="crew-neck" href="/collections/t-shirts-shirts/crew-neck" class="sub-link">crew-neck</a>
        </li>
        <li>
            <a title="polo tshirts" href="/collections/t-shirts-shirts/polo-tshirts" class="sub-link">polo tshirts</a>
        </li>
        <li>
            <a class="" title="Trousers" href="/collections/trousers">Trousers</a>
        </li>
        <li>
            <a title="Trousers Protective" href="/collections/trousers/trousers-protective" class="sub-link"> Protective</a>
        </li>
    </ul>
    

1 个答案:

答案 0 :(得分:0)

可以使用简单的findElements()完成。在xpath的帮助下,抓取elements的集合并通过集合进行简单迭代,并在getText()的帮助下打印值,返回元素的字符串值。

List<WebElement> allText = driver.findElements(By.xpath("//*[contains(@class,'dropdown')]//a"));
for ( WebElement element: allText) { 
    System.out.println(element.getText());
}

注意:未经测试的代码。您可能需要确保在执行此代码之前单击并打开列表,并且也可能需要一些等待