2012-08-13 107 views
0

我是Selenium 2.0 Java Webdriver的noob。试图自己学习。但坚持要确定一个Webelement。我正在尝试点击Google的搜索结果。我正在搜索字符串'Selenium Download'并尝试点击第一个结果。它是作为下文标识萤火虫 -Selenium Webdriver 2.25.0 Java Firefox - 无法识别Google搜索结果Webelement

<a class="l" onmousedown="return rwt(this,'','','','1','AFQjCNF012aUD3cMR2x-qIQl2u6suxLnlw','','0CE0QFjAA',null,event)" href="http://www.google.co.in/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CE0QFjAA&url=http%3A%2F%2Fseleniumhq.org%2Fdownload%2F&ei=Wb8oULKfHsjsrAf4_IDICQ&usg=AFQjCNF012aUD3cMR2x-qIQl2u6suxLnlw"> 
<em>Downloads</em> 
- 
<em>Selenium</em> 
</a> 

的XPath:/ HTML /体/格[5]/DIV [2]/DIV/DIV [4]/DIV [2]/DIV [2] /格[/ div] [/ div] [/ div] [/ div] [/ div] div#res.med div#search div#ires ol#rso li.g div.vsc h3.r al

但是我没有找到这个唯一的。我想类似下面 -

public static void main (String[] args) { 

    WebDriver ffx1 = new FirefoxDriver(); 
    ffx1.get("http://www.google.com"); 
    ffx1.manage().window().maximize(); 
    ffx1.findElement(By.className("xbtn")).click(); 
    ffx1.findElement(By.name("q")).sendKeys("saikat"); 
    ffx1.findElement(By.name("btnG")).click(); 
    ffx1.findElement(By.xpath(My Expression)); 

}

请帮助我。

回答

0

我认为有需要被清理出两件事情:

首先 - 你有可能是不正确的那些 的XPath的谷歌搜索页面上的第一个搜索元素是 定位器.//* [@ id ='rso']/li [1]/div/h3/a

第二 - 搜索结果在点击搜索按钮后会在搜索结果页面上显示几秒钟。因此,必须插入一些等待时间。我在下面的代码中使用了30秒的隐含等待。隐式等待将告诉Webdriver在尝试查找一个或多个元素(如果它们不是立即可用)时轮询DOM一段时间。

现在,如果你用下面的代码试试,它应该工作

import java.util.concurrent.TimeUnit; 

    public static void main(String[] args) throws InterruptedException { 
     WebDriver ffx1 = new FirefoxDriver(); 
     ffx1.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 
     ffx1.get("http://www.google.com"); 
     ffx1.manage().window().maximize(); 
     ffx1.findElement(By.name("q")).sendKeys("saikat"); 
     ffx1.findElement(By.name("btnG")).click(); 
     ffx1.findElement(By.xpath(".//*[@id='rso']/li[1]/div/h3/a")).click(); 

    } 
+0

非常感谢@StatusQuo!它确实工作:)但我可以请你指导我更多的识别网络元素。任何建议将不胜感激。 – saikosen 2012-08-13 18:49:14

+0

@SaikatSengupta,尝试学习更多关于HTML,CSS,javascript。 http://darrellgrainger.blogspot.com/2010/03/how-to-pick-identifiers.html,http://net.tutsplus.com/tutorials/html-css-techniques/the-30-css-selectors-你必须记住/ – StatusQuo 2012-08-13 19:51:40

+0

非常感谢!我现在就开始探索:) – saikosen 2012-08-14 06:05:46

相关问题