【问题标题】:Firefox automation not working (using Selenium in Eclipse)Firefox 自动化不起作用(在 Eclipse 中使用 Selenium)
【发布时间】:2013-10-05 22:22:50
【问题描述】:

我对 Java 和 Selenium 都很陌生,我正在尝试使用 Webdriver 启动和运行 Firefox 的程序。这是我使用的代码

    package testPackage1;
    import java.util.List;
    import org.openqa.selenium.*;
    import org.openqa.selenium.firefox.*;
    import org.openqa.selenium.htmlunit.HtmlUnitDriver;

    public class FirefoxAutomationTest {

      public static void main(String[] args){

          WebDriver driver = new FirefoxDriver();
          driver.get("http://www.google.com");

          }
     }

所有这些都是打开和关闭 Firefox 窗口,它不会加载 google,它会抛出一个 UnreachableBrowserException。但是,当我使用HtmlUnitDriver 而不是FirefoxDriver 时,一切似乎都运行良好。我在这里做错了什么,或者这是 Selenium 的常见问题?我该如何解决这个问题?

编辑:我添加的依赖项列表:

  • selenium-api-2.35.0.jar
  • selenium-java-2.35.0.jar
  • selenium-server-2.35.0.jar
  • selenium-server-standalone-2.35.0.jar
  • selenium-firefox-driver-2.35.0.jar

更新:已经尝试了很多方法来让它工作,似乎我可以打开保存在我的硬盘上的 html 页面,但是即使我没有明确指定 driver.close()driver.quit(),浏览器也会自行退出.控制台上没有显示任何内容,所以我想我可以安全地假设它不会引发任何错误。另外,我猜webDriver 在退出之前会生成一个包含以下信息的网页:

XML Parsing Error: undefined entity
Location: chrome://browser/content/browser.xul
Line Number 36, Column 1:<window id="main-window"
^

现在我尝试了上面显示的 url,它导致了 firefox 界面的某些部分。怎么回事?

【问题讨论】:

  • 但是我目前运行的是 Firefox 17.0.9,我猜这个问题是由 Firefox 22 引起的。对吗?
  • 如何查看 Webdriver 版本?我目前正在使用 selenium-server-standalone-2.35.0,如果有帮助的话
  • 好的。这是正确的。另外,您是否使用以下 jar 文件? selenium-java-2.35.0.jar
  • 是的,我也在使用提到的文件。

标签: java selenium automation selenium-webdriver selenium-firefoxdriver


【解决方案1】:

使用HtmlUnitDriver有什么具体要求吗?

解决方案:

  • 添加所有包含在依赖项中的.jar
  • build_path 中检查它们的路径是否有效且正确
  • 验证 firefox 兼容性与您的 selenium 版本[可能需要升级或降级任何组件]
  • 确保您已安装最新的 java 版本并且当前指向正确
  • 从您的计算机中删除 代理
  • 连接到开放网络以使用互联网
  • 添加隐式等待以等待页面完全加载

应该可以解决你的问题,试试吧!

【讨论】:

    【解决方案2】:

    我很惊讶为什么这不起作用。 FirefoxDriver 默认情况下实际上与 Selenium API 捆绑在一起,所以如果您包含 selenium-java-2.35.0.jarselenium-api-2.35.0.jar 我不完全确定发生了什么。

    再一次,确保你有..

    • selenium-java-2.35.0.jar
    • selenium-api-2.35.0.jar

    如果包含这些不起作用,则手动包含 firefox 驱动程序。

    • selenium-firefox-driver-2.35.0.jar

    请注意,所有这些库都需要以某种方式包含在您的构建路径中。作为外部 jar 依赖项或 maven 依赖项,无论您使用哪个。

    【讨论】:

    • 是的,我错过了添加 selenium-api-2.35.0.jar。现在不抛出 UnreachableBrowserException,而是我得到这个:“线程“主”org.openqa.selenium.WebDriverException 中的异常:找不到会话:39d02ee6-69c1-4cec-bcfb-8071dc2f9730 命令持续时间或超时:20.58 秒”任何修复?
    • 我目前正在我的系统上运行 firefox 17.0.9 ESR,如果有帮助的话
    • 编辑:我猜那是一次怪异的事件,现在回到获取 UnreachableBrowserExceptions 的问题。怎么了??
    猜你喜欢
    • 1970-01-01
    • 2018-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-26
    • 2019-01-28
    • 2014-09-06
    • 2016-04-04
    相关资源
    最近更新 更多