2012-02-15 106 views
0

我试图找到使用XPath的元素。我用XPath检查器并复制了XPath。 Selenium IDE可以通过这种方式找到元素,但以下Java代码不会返回任何元素。Selenium:从XPath检查器复制XPath时返回null元素

有人可以帮助我在这方面。

WebDriver driver = new FirefoxDriver(); 
WebElement element = driver.findElement(By.xpath("id('mResources')/x:a")) ; 
element.click(); 

感谢

+0

IDE与Java Webdriver之间最大的区别在于webdriver不会等待页面正常加载。你有没有在你的代码中等待? – 2012-02-15 10:00:55

+0

'WebDriver driver = new FirefoxDriver(); WebElement element = driver.findElement(By.xpath(“id('mResources')/ a”)); element.click();'试试这个。 – 2017-09-11 07:25:56

回答

0

或者作为答案更好。我的Java代码,我impelemented“更好”找到办法

private Webelement foundElement; 
public WebElement find(By by){ 
    for (int milis=0; milis<3000; milis = milis+200){ 
     try{ 
      foundElement = driver.findElement(by); 
     }catch (Exception e){ 
      try { 
       Thread.sleep(200); 
      } catch (InterruptedException e1) { 
       e1.printStackTrace(); 
      } 
     } 
    } 
在我的代码

后来我有类似:

WebElement element= find(By.xpath("id('mResources')/x:a")); 
      element.click(); 

find()不一样findElement但在循环中,每200毫秒,最多3秒。