Selenium (chromedriver) in MAC



我有以下问题/问题:我使用笔记本自动化。现在我买了一个Ultrabook Mac。

我对所有项目进行了自动化的所有项目。但是,当我运行它时,我会收到以下错误:

java.lang.IllegalStateException: The driver executable does not exist: /Users/estevaomarcos/Documents/Projetos/DBServer/Userschromedriver

在我的代码中是以下内容:

System.setProperty("webdriver.chrome.driver", "\Users\chromedriver");
WebDriver browser = new ChromeDriver(); .....

设置驱动程序路径:为了避免手动检查操作系统,我们可以使用file.separator键从系统属性中获取文件分离器符号。

System.setProperty("webdriver.chrome.driver", "Users" + System.getProperty("file.separator") + "chromedriver");
WebDriver browser = new ChromeDriver();
browser.get("test.com"); 

设置驱动程序路径,基于操作系统(OS(我们正在运行的驱动程序路径。

String os = System.getProperty("os.name").toLowerCase();
            WebDriver driver = new ChromeDriver();
            if(os.contains("mac")) { 
                System.setProperty("webdriver.chrome.driver", System.getProperty("usr.home") + System.getProperty("file.separator") + "chromedriver");
            }else {
                System.setProperty("webdriver.chrome.driver", System.getProperty("usr.home") + System.getProperty("file.separator") + "chromedriver.exe");
            }
  1. 在基于操作系统的代码中,您应该在System.SetProperty设置之后初始化新的Chromedriver。
  2. user.home是正确的选项 - 不是usr'最后,当看起来像这样时,它很棒:

String os = System.getProperty("os.name").toLowerCase();
if (os.contains("mac")) {
  System.setProperty("webdriver.chrome.driver", System.getProperty("user.home") + System.getProperty("file.separator") + "chromedriver");
} else {
  System.setProperty("webdriver.chrome.driver", System.getProperty("user.home") + System.getProperty("file.separator") + "chromedriver.exe");
}
WebDriver driver = new ChromeDriver();

最新更新