java - 如何在 Selenium WebDriver 中获取 "li"类的所有 "ul"元素

标签 java html selenium selenium-webdriver

我是 Selenium 网络驱动程序的新手。我遇到了一个要求,我必须运行我的测试,点击一个部分中的所有链接。有人可以帮我处理 Java 代码吗?附上一张图片,显示该特定部分的 Firebug 属性。 我已经尝试了下面的代码,但它返回了一个空列表。

public static void main(String[] args) {

    WebDriver driver = new FirefoxDriver();

    driver.get("https://dev.www.tycois.com/");
    driver.manage().window().maximize();

    List<WebElement> allElements = driver.findElements(By.xpath("html/body/div[10]/div/div[1]/div[3]/ul[1]/li[5]"));
    System.out.println(allElements);

    for (WebElement element: allElements) {
        System.out.println(element.getText());
        element.click();          
    }
}

提前致谢。

最佳答案

细节不清楚,但看起来您正试图在页脚的 INDUSTRIES 部分中打印链接。如果这是真的,这应该有效。

driver.get("https://dev.www.tycois.com/");
WebElement industries = driver.findElement(By.cssSelector("div.columns.three.alpha > ul"));
List<WebElement> links = industries.findElements(By.tagName("li"));
for (int i = 1; i < links.size(); i++)
{
    System.out.println(links.get(i).getText());
}

您不能单击此循环中的链接,因为一旦您单击第一个链接,您将不再位于该页面上。我建议您将每个链接的 URL 存储在一个数组中,然后为每个链接存储 driver.get(url)。或者您可以将预期的 URL 存储在一个数组中,并将链接中的 URL 与预期的 URL 进行比较,而根本不必导航。选择权在你...

关于java - 如何在 Selenium WebDriver 中获取 "li"类的所有 "ul"元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32497998/

相关文章:

java - 正则表达式根据运算符拆分字符串并在答案中保留运算符

javascript - 使用 JavaScript 动态创建复选框?

testing - 在测试中使用 selenese 定位 html 元素

java - 等到元素未找到或隐藏

python - Selenium Webdriver 测试元素可见性的假阴性结果?

java - 未封闭字 rune 字背后的算法

Java 基本图形用户界面示例

HTML/CSS 表格在 eBay 列表中未正确对齐

java - 在 java 中读取图像时出现 IllegalArgumentException

jquery - Internet Explorer CSS 中的 Transform-Style preserve-3d 不起作用