我想点击一个href链接,然后返回上一页,然后点击下一个带有文字“Meer info”的href链接。
我编写了以下代码,但它产生了一个异常。我可以访问网页,然后点击我要点击的文字名称为“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]"}
答案 0 :(得分:1)
您可以使用以下代码:
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();
看看它是否有效
答案 1 :(得分:1)
尝试使用
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();
它会起作用!!