我是 Selenium webdriver 的新手。我遇到了一个要求,我必须运行我的测试,单击一个部分中的所有链接。有人可以帮我解决这个问题的 Java 代码吗?附上一张显示该特定部分的萤火虫属性的图像。
我已经尝试了下面的代码,但它返回了一个空列表。
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();
}
}
提前致谢。
详细信息尚不清楚,但看起来您正在尝试打印页脚“行业”部分中的链接。如果这是真的,这应该可行。
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 进行比较,而根本不需要导航。这个选择由你...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)