【问题标题】:Getting error when trying to initialize WebDriver for Firefox尝试为 Firefox 初始化 WebDriver 时出错
【发布时间】:2013-09-25 17:59:48
【问题描述】:

我的 Web 应用程序是用 PHP 编写的。我使用 Eclipse IDE 编写我的 Java 代码来自动化它。我正在尝试初始化 Firefox,但无法识别。我添加了 Firefox 可执行文件,但出现以下错误。

我的代码:

import java.io.File;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxBinary;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
public class GCBid {
    public static void main(String[] args) {
        //File pathToBinary = new File("C:\\Users\\su5w1n6\\AppData\\Local\\Mozilla  Firefox\\firefox.exe");
        File pathToBinary = new File("C:\\Users\\su5w1n6\\AppData\\Mozilla_Firefox\\firefox.exe");
        FirefoxBinary ffBinary = new FirefoxBinary(pathToBinary);
        FirefoxProfile firefoxProfile = new FirefoxProfile();
        FirefoxDriver _driver = new FirefoxDriver(ffBinary,firefoxProfile);
        // WebDriver driver = new FirefoxDriver();
        //driver.get("test.cpmtoolbox.com");
    }
}  

错误:

线程“主”org.openqa.selenium.WebDriverException 中的异常: 指定的 firefox 二进制位置不存在或不是真实的 文件:C:\Users\su5w1n6\AppData\Mozilla_Firefox\firefox.exe 构建信息:版本:'2.35.0',修订:'8df0c6b',时间:'2013-08-12 15:43:19' 系统信息:os.name:'Windows 7',os.arch:'amd64',os.version:'6.1',java.version:'1.6.0_20' 驱动程序信息:驱动程序版本:未知 在 org.openqa.selenium.firefox.internal.Executable.(Executable.java:57) 在 org.openqa.selenium.firefox.FirefoxBinary.(FirefoxBinary.java:59) 在 GCBid.main(GCBid.java:15)

【问题讨论】:

  • 它存在吗?您确定那里安装了 Firefox 吗?毕竟,安装它的地方很奇怪。

标签: java firefox webdriver


【解决方案1】:

您应该避免将 firefox 二进制文件放入您的代码中。转到您的环境变量并将 firefox 的位置添加到 PATH(如果默认情况下在 Selenium 中找不到)。

【讨论】:

  • 迟来的批评:当然,很好,但这并不能解决问题。还是这样?
  • 我对这个答案做了很多假设。第一个假设是自动化可能有一天会被共享。如果是这种情况,每个想要运行它的人都必须去编辑他为 Firefox 二进制文件的路径编写的这部分代码。一般来说,不要硬编码这样的关键路径是一种很好的做法。第二个假设是他需要这样做,因为 Selenium 找不到他的 Firefox 安装的默认位置。 Selenium 的文档详细介绍了如何在环境变量中添加二进制位置,以便 Selenium 可以启动浏览器而无需在代码中指定其路径。
【解决方案2】:
File pathToBinary = new File("Firefox.exe location");
FirefoxBinary ffBinary = new FirefoxBinary(pathToBinary);
FirefoxProfile firefoxProfile = new FirefoxProfile();
FirefoxDriver _driver = new FirefoxDriver(ffBinary,firefoxProfile);

只需将 Firefox.exe 位置添加到环境变量中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-25
    • 2019-06-19
    • 1970-01-01
    • 2012-04-22
    • 2021-04-27
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多