【问题标题】:Selenium 2: something wrong with “driver.findElement(By....);Selenium 2:“driver.findElement(By....);
【发布时间】:2012-12-21 13:59:09
【问题描述】:

当调用driver.findElement(By.className("item")); 找不到元素时,selenium webDriver 什么也不做 驱动程序甚至不会抛出我有时期待的 ElementNotfoundException。它只是挂起。 这是一个例子:

ProfilesIni allProfiles = new ProfilesIni();
FirefoxProfile profile = allProfiles.getProfile("default");
driver = new FirefoxDriver(profile);
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
driver.get(APP_ADDRESS);

WebElement sBoxPopup = driver.findElement(By
                .className("item"));
...

驱动程序挂在 driver.findElement(...) 上。即使我删除了implicitlyWait,它也会挂起。 自 4 天以来,我一直在寻找错误。我希望有人能给点提示。 我正在使用 Firefox 17.0.1 和 selenium-java/-server 2.28。我还将 selenium 版本降级为 2.25,但没有任何反应。

【问题讨论】:

    标签: java eclipse firefox selenium-webdriver


    【解决方案1】:

    您可以尝试将您的 Firefox 版本降低到 16 并尝试。

    【讨论】:

      【解决方案2】:

      尝试使用 driver.findelement(By.xpath("//*[@class='date']") 如果类名将包含空格“日期”,则类名大部分将不起作用。

      【讨论】:

      • 我的 xpath 字符串中没有空格!
      • 试试看 :: driver.findelement(By.xpath("//*[@class='item']")
      【解决方案3】:

      我认为错误出在 xpath 本身,因为在您的网页中,“class=item”的次数可能更多。尝试通过在您的网页中找到一些唯一的字符串来更改 xpath。

      【讨论】:

        猜你喜欢
        • 2013-08-28
        • 1970-01-01
        • 2020-07-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-04
        相关资源
        最近更新 更多