2014-11-02 40 views
0

我正在嘗試在網站中導航:http://startupnationbook.com/startup-map 我想點擊Startups的鏈接,但是我無法找到該元素。如何找到執行點擊的元素

我想:

elem = driver.findElement(By.xpath("//a[contains(text(),'Startups')]")); 

elem = driver.findElement(By.xpath("//*[@id='listtoggle' and contains(text(),'Startups')]")); 

在這兩種情況下,我得到:「找不到元素」錯誤

有什麼錯我的表情,我怎麼能找到要執行點擊的元素。

回答

2

該地圖位於iframe中,您可能不會告訴Selenium在那裏查看。我也會尋找span標籤,並且由於id listtoggle被多次使用(糟糕的設計,使其變得毫無價值),只要尋找包含Startups的產品即可。

// Also should probably use a wait here, in case the page takes too long to load 
chromeDriver.switchTo().frame(chromeDriver.findElement(By.tagName("iframe"))); 
WebElement elem = chromeDriver.findElement(By.xpath("//span[contains(text(),'Startups')]")); 
1

你可以象下面這樣:

WebDriver driver = new FirefoxDriver(); 
driver.get("http://startupnationbook.com/"); 
driver.findElement(By.xpath(".//*[@id='main-nav']/li[5]/a")).click(); 

希望這會工作。我測試過了。

相關問題