繁体   English   中英

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

[英]How to click next span element in Selenium web driver

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

我编写了以下代码,但它产生了一个异常。 我可以访问网页,然后单击我要点击的第一个链接,文本名称为“Meer info”,而不是返回但后来我想点击第二个linkText也使用相同的文本名称“Meer info”但我不知道如何要做到这一点。

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();

并看它是否有效

尝试使用

List<WebElement> element = driver.findElements(By.linkText("Meer info"));
element.get(2).click();

代替

driver.findElement(By.linkText("//a[text()=\"Meer info\"]/following- 
sibling::a[2]")).click();

它会工作!!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM