java - 如何在 Selenium Web 驱动程序中单击下一个 span 元素

标签 java selenium

我想单击一个 href 链接,然后返回上一页,然后单击下一个包含文本“Meer info”的 href 链接。

我编写了以下代码,但它产生了异常。我可以访问网络,然后单击我想要单击的文本名称为“Meer info”的第一个链接,而不是返回到后面,但随后我想单击第二个同样具有相同文本名称“Meer info”的 linkText但我不知道该怎么做。

WebDriver driver = new FirefoxDriver();
driver.get("http://turksegids.nl/index.php");
Thread.sleep(3000);
driver.findElement(By.cssSelector("input[type='image'][value='Zoek!']")).click();
Thread.sleep(5000);
driver.findElement(By.linkText("Meer info")).click();
Thread.sleep(4000);
driver.findElement(By.linkText("Terug naar de resultatenpagina")).click();
Thread.sleep(8000);
driver.findElement(By.linkText("//a[text()=\"Meer info\"]/following- 
sibling::a[2]")).click();

Thread.sleep(4000);
driver.close();
driver.quit();

我收到此异常

Unable to locate element: {"method":"link text","selector":"//a[text()=\"Meer info\"]/following-sibling::a[2]"}

最佳答案

您可以使用以下代码:

WebDriver driver = new FirefoxDriver();
driver.get("http://turksegids.nl/index.php");
driver.findElement(By.cssSelector("input[type='image'][value='Zoek!']")).click();
driver.findElement(By.linkText("Meer info")).click();
driver.findElement(By.linkText("Terug naar de resultatenpagina")).click();
driver.findElement(By.xpath("//*[@id='resultatenklik_28957_info']/u")).click();
driver.close();
driver.quit();

看看它是否有效

关于java - 如何在 Selenium Web 驱动程序中单击下一个 span 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21852298/

相关文章:

java - 将 Java 翻译成 Clojure - 添加到列表并返回列表

java - urlencode() 'asterisk'(星号?)字符

java - Selenium Webdriver 和 findelement

java - 如果元素未存储在数组中,如何从下拉列表中单击选项

selenium - 是否有适用于 Microsoft Edge 浏览器的 Selenium WebDriver?

java - 如何使用 2 列合并的字段执行查询?

java - 如何将 log4j 日志记录到现有的 J2EE Struts Web 应用程序?

java - 删除字符串中重复的字符集

python - 使用 Selenium 和 Python 迭代 Accordion block 中的每个项目

Selenium PHPUnit 在 ubuntu 命令行上传递变量