java - 如何使用 Selenium Java 在另一个 ul 标签内打印文本

标签 java html css selenium selenium-webdriver

<分区>


想改进这个问题吗? 通过 editing this post 添加细节并澄清问题.

关闭 5 年前

伙计们,我正在学习 Selenium Automation。

我设计了一个如下所示的网站。

我的 HTML 代码:

<!DOCTYPE html>
<html>
<head><title>Shop</title></head>
<body>
<ul>
    <li><a href="www.rendertofruitsection.com">Fruits</a>
       <ul>
           <li><a href="www.addbananatocart.com">» Banana</a></li>
           <li><a href="www.addappletocart.com">» Apple</a></li>
           <!--List goes on-->
       </ul>
    </li>
    <li><a href="www.redertovegsection">Vegetable</a>
         <ul>
              <li><a href="www.addcapcicumtocart">» Capsicum</a></li>
              <li><a href="www.addtomatotocart.com">» Tomato</a></li>
              <li><a href="www.addoniontocart">» Onion</a></li>
              <!--List goes on-->
         </ul>
    </li>
    <li><a herf="www.nonveglink.com">Non Veg Section</a></li>
    <!--List goes on-->
</ul> 
</body>
</html> 

最初我计划列出<a> 中显示的所有文本使用 java selenium 标记。

所以我在下面写了这段代码。

我的 Java 代码:

public class shop
{
    public static void main(String[] args)
    {
        WebDriver driver= new ChromeDriver();
        driver.get("www.myshopping.com");
        List<WebElement> text=  driver.findElements(By.xpath("//a"));
        for(int i=0;i<text.size();i++)
        {
             System.out.println(i+". "+text.get(i).getText());
        }
    }
}

输出我得到的和需要的:

 Output what I got:                      | Output What I need:
 1. Fruits                               | 1. Fruits
 2.                                      | 2. Banana
 3.                                      | 3. Apple
 4. Vegetable                            | 4. Vegetable
 5.                                      | 5. Capsicum
 6.                                      | 6. Tomato 
 7.                                      | 7. Onion
 8. Non Veg Section                      | 8. Non Veg Section

伙计们只是告诉小提示,如何获取内部的文本<ul>它的<li>使用 Selenium Java 标记。

我尝试了一些什么,但我卡在这里了。请帮忙。

谢谢

最佳答案

列出<a>中显示的所有文本标记你可以试试下面的代码块:

public class shop
{
    public static void main(String[] args)
    {
    WebDriver driver= new ChromeDriver();
    driver.get("www.myshopping.com");
    List<WebElement> atags =  driver.findElements(By.tagName("a"));
    for(WebElement atag:atags)
         System.out.println("Text is : " + atag.getAttribute("innerHTML"));
    }
}

关于java - 如何使用 Selenium Java 在另一个 ul 标签内打印文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47854723/

上一篇:css - Flexbox 菜单项在 iPad 上相互折叠

下一篇:javascript - CSS Transitions 有时会滞后

相关文章:

javascript - 使用 jQuery 验证检查图像大小不起作用

javascript - 下拉元素标签

css - Font Awesome 背景颜色溢出

html - 如何仅使用html和scss在元素前后分配不同的背景颜色?

javascript - 在 jQuery 中调用自定义属性

css - 如何在多个jsp中包含css?

java - 货币符号国际化 Java

java - 当 main 抛出异常时会发生什么?

java - 使用 Gson 将 json 字段反序列化为不同的 Java 对象

java - 斯坦福NLP POS Tagger(MaxentTagger)