我有清单上的项目。如何通过selenium阅读它们 服务用户编号必须为6个字符 需要PSL ID >银行账户Id(was信用账户Id)是必需的 帐户名是必需的 排序代码是必需的 帐号是必需的 需要银行对账单说明 公司名称是必需的 联系人姓名是必需的 电子邮件地址是必需的 需要客户服务电话号码 电话号码是必需的 地址是必需的 参考号前缀是必需的 报告电子邮件地址是必需的

我有清单上的项目。如何通过selenium阅读它们 服务用户编号必须为6个字符 需要PSL ID >银行账户Id(was信用账户Id)是必需的 帐户名是必需的 排序代码是必需的 帐号是必需的 需要银行对账单说明 公司名称是必需的 联系人姓名是必需的 电子邮件地址是必需的 需要客户服务电话号码 电话号码是必需的 地址是必需的 参考号前缀是必需的 报告电子邮件地址是必需的,selenium,selenium-webdriver,listitem,Selenium,Selenium Webdriver,Listitem,我想阅读所有的列表并得到它们的值。有人尽快帮我吗。由于selenium无法识别无序标签,因为它没有任何名称和id…..请帮助….您可以这样做: <div class="validation-summary-errors" data-valmsg-summary="true"> <ul> <li>Service User Number must be 6 characters</li> <li>PS

我想阅读所有的列表并得到它们的值。有人尽快帮我吗。由于selenium无法识别无序标签,因为它没有任何名称和id…..请帮助….

您可以这样做:

<div class="validation-summary-errors" data-valmsg-summary="true">
    <ul>
        <li>Service User Number must be 6 characters</li>
        <li>PSL ID is required</li>
        <li>>Bank Account Id (was Credit AccID) is required</li>
        <li>Account Name is required</li>
        <li>Sort Code is required</li>
        <li>Account Number is required</li>
        <li>Bank Statement Narrative is required</li>
        <li>Company Name is required</li>
        <li>Contact Name is required</li>
        <li>Email Address is required</li>
        <li>Customer Services Phone Number is required</li>
        <li>Phone Number is required</li>
        <li>Address is required</li>
        <li>Reference Number Prefix is required</li>
        <li>Report Email Address is required</li>
    </ul>
</div>
公共无效测试(){
WebElement ul=driver.findElement(由.cssSelector(“div.validation-summary-errors ul”);
列表lis=ul.findElements(按.tagName(“li”));
for(WebElement li:lis){
//用li做点什么。getText();
}
}

@sircapsalot的答案很好,但我会更改第一个CSS选择器以满足OP的要求“selenium不会识别无序标记,因为它没有任何名称和id”

公共无效测试(){
WebElement ul=driver.findElement(由.cssSelector(“div.validation-summary-errors ul”);
列表lis=ul.findElements(按.tagName(“li”));
for(WebElement li:lis){
//用li做点什么。getText();
}
}

为什么要分两步进行?我们可以在一个选择器中找到li

public void test() {
    WebElement ul = driver.findElement(By.cssSelector("div.validation-summary-errors ul"));

    List<WebElement> lis = ul.findElements(By.tagName("li"));

    for (WebElement li : lis) {
        // do something with li.getText();
    }
}

}

如果SVG数据如下所示:



Compute(227311)

数据库(98005)

Storage&;内容交付(69436)

联网(30874)

其他(11273)

那就用这个

public List content_data=new List()

content\u data=driver.FindElement(按.Id(“内容数据”)).FindElement(按.TagName(“文本”)).ToList()

在我回答问题时,HTML尚未完全可用;)我现在就把它修好。谢谢。问题是从
  • 获取数据,而不是SVG。
    public void test() {
        WebElement ul = driver.findElement(By.cssSelector("div.validation-summary-errors ul"));
    
        List<WebElement> lis = ul.findElements(By.tagName("li"));
    
        for (WebElement li : lis) {
            // do something with li.getText();
        }
    }
    
    public void test() {
    WebElement lis = driver.findElement(By.cssSelector("div.validation-summary-errors ul>li"));
    
    for (WebElement li : lis) {
        // do something with li.getText();
    }