2014-02-18 41 views
0

我想單擊href鏈接,然後返回上一頁,然後單擊具有文本「Meer info」的下一個href鏈接。如何點擊Selenium網絡驅動程序中的下一個span元素

我寫了下面的代碼,但它產生了一個異常。我可以去網頁,然後點擊第一個鏈接,我想點擊文本名稱「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

嗨Muratcan,你的整個腳本似乎是錯的;如果您仍然面臨問題,請讓我立即告訴您 –

回答

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

嘗試使用

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

它將工作!

+0

;我有替代答案給你。薩姆斯| seleniumworks.com –

+0

非常感謝你的代碼工作正常。 – Muratcan

相關問題