【问题标题】:Selenium: null element returned when XPath copied from XPath checkerSelenium:从 XPath 检查器复制 XPath 时返回空元素
【发布时间】:2012-03-06 13:02:51
【问题描述】:

我正在尝试使用XPath 定位元素。我使用了XPath 检查器并复制了XPath。 Selenium IDE 可以通过这种方式找到元素,但以下 Java 代码不返回任何元素。

有人可以在这方面帮助我吗?

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

谢谢

【问题讨论】:

  • IDE 和 Java Webdriver 最大的区别是 webdriver 不等待页面正确加载。您的代码中有一些等待吗?
  • WebDriver driver = new FirefoxDriver(); WebElement element = driver.findElement(By.xpath("id('mResources')/a")) ; element.click(); 试试这个。

标签: xpath selenium selenium-webdriver


【解决方案1】:

或者更好的答案。对于我的 java 代码,我实施了“更好”的查找方法

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 秒。

【讨论】:

    猜你喜欢
    • 2021-06-23
    • 1970-01-01
    • 2021-07-17
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 2018-07-24
    • 1970-01-01
    相关资源
    最近更新 更多