如何使selenium webdriver与MAC OS一起工作 [英] How to make selenium webdriver work with MAC OS

查看:125
本文介绍了如何使selenium webdriver与MAC OS一起工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

亲爱的朋友们,



我在MAC OS上遇到webdriver问题,无法打开firefox。

以下是我的代码。 Firefox版本为45.01 esr。

有人可以帮忙吗?

感谢提前:)



  public  静态  void  main( String  [ ] args){
WebDriver driver = null;
字符串 routerURL = https:// www.google.com /;

System.setProperty( webdriver.firefox.bin / Applications / Firefox.app / Contents / MacOS / firefox-bin);

System.out.println( 准备打开firefox);
尝试 {
driver = new FirefoxDriver();
driver.get(routerURL);
} catch (例外e){
System.out.println( 无法打开firefox);
e.printStackTrace();
driver.close();
}
System.out.println( open firefox);
}





这是日志:

准备打开firefox 
无法打开firefox
java.lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置;有关更多信息,请参阅https://github.com/mozilla/geckodriver。最新版本可以从https://github.com/mozilla/geckodriver/releases
下载到com.google.common.base.Preconditions.checkState(Preconditions.java:199)
at org。 openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:109)
at org.openqa.selenium.firefox.GeckoDriverService.access $ 100(GeckoDriverService.java:38)
at org.openqa .selenium.firefox.GeckoDriverService $ Builder.findDefaultExecutable(GeckoDriverService.java:91)
at org.openqa.selenium.remote.service.DriverService $ Builder.build(DriverService.java:296)
at org .openqa.selenium.firefox.FirefoxDriver.createCommandExecutor(FirefoxDriver.java:245)
at org.openqa.selenium.firefox.FirefoxDriver。< init>(FirefoxDriver.java:220)
at org。 openqa.selenium.firefox.FirefoxDriver。< init>(FirefoxDriver.java:215)
at org.openqa.selenium.firefox.FirefoxDriver。< init>(FirefoxDriver.java:211)
at org.openqa.selenium.firefox.FirefoxDriver<初始化>(网络连接refoxDriver.java:124)
at com.router.crack.routerCrack.main(routerCrack.java:23)
线程中的异常mainjava.lang.NullPointerException
at com.router .crack.routerCrack.main(routerCrack.java:28)





我尝试了什么:



我尝试使用 System.setProperty(),并将firefox版本从48更改为45 esr,但仍然无法正常工作。

解决方案

100(GeckoDriverService.java:38)
org.openqa.selenium.firefox.GeckoDriverService


Builder.findDefaultExecutable (GeckoDriverService.java:91)
at org.openqa.selenium.remote.service.DriverService


Builder.build(DriverService.java:296)
at org .openqa.selenium.firefox.FirefoxDriver.createCommandExecutor(FirefoxDriver.java:245)
at org.openqa.selenium.firefox.FirefoxDriver。< init>(FirefoxDriver.java:220)
at org。 openqa.selenium.firefox.FirefoxDriver< INI t>(FirefoxDriver.java:215)
at org.openqa.selenium.firefox.FirefoxDriver。< init>(FirefoxDriver.java:211)
at org.openqa.selenium.firefox.FirefoxDriver。 < init>(FirefoxDriver.java:124)
at com.router.crack.routerCrack.main(routerCrack.java:23)
线程main中的异常java.lang.NullPointerException
在com.router.crack.routerCrack.main(routerCrack.java:28)





我尝试过:



我试图使用 System.setProperty(),并将firefox版本从48改为45 esr,但仍然不能工作


Dear friends,

I got a problem with webdriver on MAC OS, can not open firefox.
Here below is my code. Firefox version is 45.01 esr.
can anyone help?
Thanks for advance :)

public static void main(String[] args){
    WebDriver driver = null;
    String routerURL = "https://www.google.com/";

    System.setProperty("webdriver.firefox.bin", "/Applications/Firefox.app/Contents/MacOS/firefox-bin");

    System.out.println("ready to open firefox");
    try{
        driver = new FirefoxDriver();
        driver.get(routerURL);
    }catch(Exception e){
        System.out.println("can not open firefox");
        e.printStackTrace();
        driver.close();
    }
    System.out.println("open firefox");
}



Here is the log:

ready to open firefox
can not open firefox
java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.gecko.driver system property; for more information, see https://github.com/mozilla/geckodriver. The latest version can be downloaded from https://github.com/mozilla/geckodriver/releases
	at com.google.common.base.Preconditions.checkState(Preconditions.java:199)
	at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:109)
	at org.openqa.selenium.firefox.GeckoDriverService.access$100(GeckoDriverService.java:38)
	at org.openqa.selenium.firefox.GeckoDriverService$Builder.findDefaultExecutable(GeckoDriverService.java:91)
	at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:296)
	at org.openqa.selenium.firefox.FirefoxDriver.createCommandExecutor(FirefoxDriver.java:245)
	at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:220)
	at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:215)
	at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:211)
	at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:124)
	at com.router.crack.routerCrack.main(routerCrack.java:23)
Exception in thread "main" java.lang.NullPointerException
	at com.router.crack.routerCrack.main(routerCrack.java:28)



What I have tried:

I tried to use System.setProperty(), and change firefox version from 48 to 45 esr, but still can not work.

解决方案

100(GeckoDriverService.java:38) at org.openqa.selenium.firefox.GeckoDriverService


Builder.findDefaultExecutable(GeckoDriverService.java:91) at org.openqa.selenium.remote.service.DriverService


Builder.build(DriverService.java:296) at org.openqa.selenium.firefox.FirefoxDriver.createCommandExecutor(FirefoxDriver.java:245) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:220) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:215) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:211) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:124) at com.router.crack.routerCrack.main(routerCrack.java:23) Exception in thread "main" java.lang.NullPointerException at com.router.crack.routerCrack.main(routerCrack.java:28)



What I have tried:

I tried to use System.setProperty(), and change firefox version from 48 to 45 esr, but still can not work.


这篇关于如何使selenium webdriver与MAC OS一起工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆