我正在尝试为WebDriver
配置代理设置,所以我使用了以下代码....
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.type", 1);
profile.setPreference("network.proxy.http","207.229.122.162");
profile.setPreference("network.proxy.http_port", 3128);
WebDriver driver = new FirefoxDriver(profile);
selenium = new WebDriverBackedSelenium(driver, "http://www.example.com/");
在对文件执行运行后,我得到了像...一样的异常
org.openqa.selenium.WebDriverException:在PATH中找不到firefox二进制文件。
确保已安装firefox。操作系统似乎是:MAC
系统信息:os.name:'Mac OS X',os.arch:'x86_64',os.version:'10 .6.8',
java.version:'1.6.0_29'
驱动程序信息:driver.version:FirefoxDriver
任何人都可以帮助我了解如何以及在何处提供firefoxprofile()
答案 0 :(得分:18)
我相信你有几个选择:
在PATH系统变量中指定文件夹(Firefox二进制文件所在的文件夹) - here's how。
或致电
WebDriver driver = new FirefoxDriver(new FirefoxBinary(new File("path/to/your/firefox.exe")), profile);
答案 1 :(得分:11)
对于Mac,如果您通过brew cask安装FireFox,只需将其符号链接到/ Applications。
cd /Applications
ln -s /Users/<your-username>/Applications/Firefox.app Firefox.app
这对我有用。
答案 2 :(得分:3)
在我的情况下,我需要将Firefox.app从/ Users / username / Applications移动到/ Applications
答案 3 :(得分:3)
对于Mac:
在Mac的终端中,使用此命令为firefox创建配置文件:&#34; /Applications/Firefox.app/Contents/MacOS/firefox-bin" -p
在创建配置文件时,您会看到配置文件的路径为.default, - 请注意这一点,以便在配置文件路径的代码中输入相同内容。
代码如下所示:
String profilePath =&#34; /Users/admin/Library/ApplicationSupport/Firefox/Profiles/4duhjf19.default" ;;
System.out.println("profilePath: "+profilePath);
File checkProfile = new File(profilePath);
File[] allFolder = checkProfile.listFiles();
for (int i = 0; i < allFolder.length; i++) {
if (allFolder[i].getName().endsWith(".default")) {
profilePath = profilePath + allFolder[i].getName();
break;
}
}
FirefoxProfile firefoxprofile1 = new FirefoxProfile(new File(
profilePath));
System.out.println("profile path : " + firefoxprofile1);
driver = new FirefoxDriver(firefoxprofile1);
System.out.println("webdriver FF");
driver.manage().deleteAllCookies();
答案 4 :(得分:1)
在 Windows 上,修改环境变量,将firefox path
添加到PATH
变量。
在 Mac 上应该类似,只需在个人资料文件中导出 PATH=/my/firefox/path/bin:$PATH
。
答案 5 :(得分:1)
我不确定在Mac上,但在Windows上我解决了这个问题。
确保使用32位版本的nunit。 Firefox是一个32位浏览器。
我有64位Windows操作系统,但Firefox是32位浏览器。我试图使用64位版本的nunit,它给出了“无法在PATH中使用firefox二进制文件”错误。我通过使用32位版本的nunit解决了这个问题。基本上,nunit文件夹中有两个exe文件,nunit.exe和nunit-x86.exe。如果你得到这个“无法在PATH中使用firefox二进制文件”错误,很可能你需要使用32位版本的nunit - Nunit-x86.exe。
答案 6 :(得分:1)
在Mac OS X上,我在尝试运行脚本时收到类似“无法找到Firefox二进制文件(os = macosx)”的WebDriver错误。
我发现我的问题是将我的Firefox应用程序重命名为“Firefox 22”。 WebDriver的东西只是“Firefox”。
答案 7 :(得分:0)
由于selenium web驱动程序无法找到Firefox的.exe文件而获得此类问题。请检查C:\ Program Files(x86)\ Mozilla Firefox中是否有exe文件,并且不要忘记设置具有java jdk路径的环境变量。 来源: - http://www.tech4crack.com/solved-cannot-find-firefox-binary-in-path/