`

"WebDriverException: Cannot find firefox binary in PATH."的解决方法

阅读更多

最近在学习webdriver,顺便把遇到的问题记在这里,以便日后查阅,并分享给遇到相同问题的人。

 

问题:运行seleniumhq.org网站上的例子。

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;

public class Selenium2Example  {
    public static void main(String[] args) {
        // Create a new instance of the Firefox driver
        // Notice that the remainder of the code relies on the interface, 
        // not the implementation.
        WebDriver driver = new FirefoxDriver();

        // And now use this to visit Google
        driver.get("http://www.google.com");
        // Alternatively the same thing can be done like this
        // driver.navigate().to("http://www.google.com");

        // Find the text input element by its name
        WebElement element = driver.findElement(By.name("q"));

        // Enter something to search for
        element.sendKeys("Cheese!");

        // Now submit the form. WebDriver will find the form for us from the element
        element.submit();

        // Check the title of the page
        System.out.println("Page title is: " + driver.getTitle());
        
        // Google's search is rendered dynamically with JavaScript.
        // Wait for the page to load, timeout after 10 seconds
        (new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {
            public Boolean apply(WebDriver d) {
                return d.getTitle().toLowerCase().startsWith("cheese!");
            }
        });

        // Should see: "cheese! - Google Search"
        System.out.println("Page title is: " + driver.getTitle());
        
        //Close the browser
        driver.quit();
    }
}

 

 

报如下错误

Exception in thread "main" org.openqa.selenium.WebDriverException: Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: XP
Build info: version: '2.18.0', revision: '15704', time: '2012-01-27 17:37:17'
System info: os.name: 'Windows XP', os.arch: 'x86', os.version: '5.1', java.version: '1.6.0_23'

 

看这个报错应该是firefox安装路径不是默认路径。

解决方法:方法1、最简单的重新安装firefox到默认路径。哈哈

             方法2、直接用System.setPropert方法设置webdriver.firefox.bin的值,如

System.setProperty("webdriver.firefox.bin","D:\\Program Files\\Mozilla Firefox\\firefox.exe");

             方法3、 用FirefoxBinary类和public FirefoxDriver(FirefoxBinary binary, FirefoxProfile profile)这个构造方法,直接上代码

File pathToFirefoxBinary = new File("D:\\Program Files\\Mozilla Firefox\\firefox.exe");
FirefoxBinary firefoxbin = new FirefoxBinary(pathToFirefoxBinary);
WebDriver driver = new FirefoxDriver(firefoxbin,null);//这里使用这个构造方法。

  应该还可以在环境变量里面设置firefox的路径也可以,有兴趣的可以试一下。

 

 

  注:有人可能会不知道webdriver.firefox.bin,可以看一下源码,其中

 org.openqa.selenium.firefox.internal.Executable.locateFirefoxBinaryFromSystemProperty()

 方法第一句

String binaryName = System.getProperty("webdriver.firefox.bin");

说明默认的时候取的就是这个值,重新设置一下。

分享到:
评论
2 楼 littlevine 2016-09-09  
1 楼 kilroy 2013-04-15  

相关推荐

    amoeba-mysql-binary-2.2.0.tar.gz

    amoeba-mysql-binary-2.2.0.tar.gz amoeba-mysql-binary-2.2.0.tar.gz amoeba-mysql-binary-2.2.0.tar.gz amoeba-mysql-binary-2.2.0.tar.gzamoeba-mysql-binary-2.2.0.tar.gz amoeba-mysql-binary-2.2.0.tar.gz ...

    cucumber-example

    org.openqa.selenium.WebDriverException: Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: VISTA Build info: version: '2.20.0', revision: '16008', time: '2012-02-27 ...

    dftables X86

    apache编译出错,它会提示./dftables: ./dftables: cannot execute binary file,这个时候我们需要编一个X86版本的dftables来取代他,这里我已经上传了一个,可以直接使用,将他拷贝到httpd-2.2.22/srclib/pcrexia下...

    python selenium运行失败常见错误.docx

    org.openqa.selenium.WebDriverException: Cannot find firefox binary in PATH. Make sure firefox is installed. 原因:可能是浏览器未安装,或者当前的驱动不支持当前系统环境。 解决方案: * 安装相应的...

    cef_binary_3.2623.1401.gb90a3be_windows32.7z

    cef_binary_3.2623.1401.gb90a3be_windows32.7z cef_binary_3.2623.1401.gb90a3be_windows32.7z cef_binary_3.2623.1401.gb90a3be_windows32.7z

    cef_binary_3.2623.1395.g3034273_windows32

    标题中的"cef_binary_3.2623.1395.g3034273_windows32"指的是Chromium Embedded Framework (CEF) 的一个特定版本,这是一个开源项目,它允许开发者将Google Chromium浏览器引擎嵌入到他们的应用程序中。这个版本号3....

    cef_binary_87.1.14+ga29e9a3+chromium-87.0.4280.141_windows32.7z

    cef_binary_87.1.14+ga29e9a3+chromium-87.0.4280.141_windows32 这是 87.0.4280最后一个稳定版,用了一周时间进行编译的,支持flv,mp3,mp4 libcef_dll也使用vs2013进行编译,新测可用 你可也可以自己,步骤: 1....

    cef_binary_3.3071.1649.g98725e6

    这个"cef_binary_3.3071.1649.g98725e6"是CEF的一个特定版本,用于集成到软件开发中,以提供强大的Web渲染和网络功能。 首先,版本号"3.3071.1649.g98725e6"包含了CEF的三个主要组成部分:主版本号、次版本号和Git...

    cef_binary_3.1547.1412_windows32.7z

    这个“cef_binary_3.1547.1412_windows32.7z”文件,正如其名,是CEF的一个特定版本(3.1547.1412)针对Windows 32位系统的二进制包,以7z的压缩格式提供。 CEF的核心价值在于为开发者提供了一个轻量级、高效的框架...

    amoeba-mysql-binary-2.2.0.tar

    标题中的"amoeba-mysql-binary-2.2.0.tar" 指的是一种名为Amoeba MySQL二进制分发版的软件包,版本号为2.2.0,其存储格式为tar档案。Amoeba是一个分布式数据库中间件,它能够将一个MySQL实例透明地扩展到多个节点,...

    cef_binary_3.1650.1503_windows32.7z

    标题“cef_binary_3.1650.1503_windows32.7z”表明这是一款针对Windows 32位操作系统的CEF(Chromium Embedded Framework)二进制文件的压缩包。CEF是一个开源框架,它允许开发人员在他们的应用程序中嵌入Chromium...

    ocijdbc10.rar

    eclipse如何解决no ocijdbc10 in java.library.path错误(ocijdbc9,ocijdbc8); java.lang.UnsatisfiedLinkError: no ocijdbc10 in java.library.path java.library.path 部署 ocijdbc10 Myeclipse 8.5中,web...

    cef_binary_3.2623.1401 重编译支持Mp3、Mp4

    在这个特定的场景中,`cef_binary_3.2623.1401` 是CEF3的一个特定版本,已经针对MP3和MP4媒体格式进行了重编译,这意味着它可以处理这两种常见的音频和视频格式。 MP3是一种广泛使用的音频编码格式,以其高质量和...

    cef_binary_3.2623.1395.g3034273_windows32.part2

    cef_binary_3.2623.1395.g3034273_windows32

    pyltp_binary-0.2.1.0-cp39-cp39-win_amd64.whl

    pyltp_binary-0.2.1.0-cp39-cp39-win_amd64.whl

    cef_binary_3.2623.1395.g3034273_macosx64.part1

    cef_binary_3.2623.1395.g3034273_macosx64

    cef_binary_3.3029.1619.geeeb5d7_windows32.tar.bz2.tar

    cef_binary_3.3029.1619.geeeb5d7_windows32 windows cef二进制文件包

    cef_binary2

    集成chrome 内核收集到的 cef_binary , 包含cef 1x,2x,41,43 版本。 具体看 https://www.spotify.com/sg-en/opensource/ cef 对应 chrome版本 cef_binary_3.2357.1271.g8e0674e_windows32 cef_binary_3....

    cef_binary_3.2272.32.gbda8dc7_windows32.zip

    cef_binary_3.2272.32.gbda8dc7_windows32.7z cef_binary_3.2272.32.gbda8dc7_windows32.7z cef_binary_3.2272.32.gbda8dc7_windows32.7zcef_binary_3.2272.32.gbda8dc7_windows32.7z cef_binary_3.2272.32.gbda8...

    cef_binary_3.2357.1271.g8e0674e_windows32_官方版本.zip

    cef_binary_3.2357.1271.g8e0674e_windows32_官方版本.zip 这个版本官方已经无法下载 这里做个备份,这个版本也是CEF支持 npapi 的最高版本 ,最新的都不支持。

Global site tag (gtag.js) - Google Analytics