【问题标题】:How to set Google Chrome in WebDriver如何在 WebDriver 中设置 Google Chrome
【发布时间】:2013-05-17 08:48:00
【问题描述】:

我正在尝试将 Chrome 设置为我的浏览器以使用 Web-Driver 进行测试并正确设置 chromedriver.exe 文件,但我仍然收到以下错误:

org.openqa.selenium.WebDriverException: 
The path to the driver executable must be set by the webdriver.chrome.driver system property; 
for more information, see http://code.google.com/p/selenium/wiki/ChromeDriver. 
The latest version can be downloaded from http://code.google.com/p/chromedriver/downloads/list

我已经检查了驱动程序的路径,但我仍然遇到同样的错误。
我不知道我在哪里犯了错误。

这是我的代码:

File file = new File("C:\\chromedriver.exe");
System.setProperty("webdriver.chrome.driver", file.getAbsolutePath());
Capability= DesiredCapabilities.chrome();
Capability.setBrowserName("chrome");
Capability.setPlatform(Platform.LINUX);

browser=new RemoteWebDriver(new URL(nodeURL),Capability);
browser.get(webUrl);

请帮帮我!!

【问题讨论】:

  • 对不起,如果这是显而易见的问题,但是:您的 C:\ 驱动器中有 chromedriver.exe 吗?
  • 是的,我有这个同名文件!!!
  • 你似乎在混合ChromeDriverRemoteWebDriver。你能描述一下你想要达到的目标吗?
  • 我正在使用网格并尝试从我的 Windows 系统访问 chrome。

标签: java selenium selenium-webdriver


【解决方案1】:

Mac 操作系统: 您必须先安装 ChromeDriver:

brew cask install chromedriver

它将被复制到 /usr/local/bin/chromedriver。然后你可以在java代码类中使用它。

【讨论】:

    【解决方案2】:

    它给出了非法例外。

    我的代码解决方法:

    public void dofirst(){
        System.setProperty("webdriver.chrome.driver","D:\\Softwares\\selenium\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("http://www.facebook.com");
    }
    

    【讨论】:

      【解决方案3】:
      public void setUp() throws Exception {
      
       System.setProperty("webdriver.chrome.driver","Absolute path of Chrome driver");
      
       driver =new ChromeDriver();
       baseUrl = "URL/";
      
          driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        }
      

      【讨论】:

      • 请提供解释,避免只回答代码。欢迎来到 SO!
      【解决方案4】:

      适用于 Mac -Chrome 浏览器

      public class MultipleBrowser {
      
          public WebDriver driver= null;
          String browser="mozilla";
          String url="https://www.omnicard.com";
      
          @BeforeMethod
          public void LaunchBrowser() {
      
            if(browser.equalsIgnoreCase("mozilla"))
                driver= new FirefoxDriver();
            else if(browser.equalsIgnoreCase("safari"))
                driver= new SafariDriver();
            else if(browser.equalsIgnoreCase("chrome"))
                System.setProperty("webdriver.chrome.driver","/Users/mhossain/Desktop/chromedriver");
                driver= new ChromeDriver();   
                driver.manage().timeouts().implicitlyWait(4, TimeUnit.SECONDS);
                driver.navigate().to(url);
                //driver.manage().deleteAllCookies();
      
        }
      

      【讨论】:

        【解决方案5】:

        阿迪亚,

        正如您在上一条评论中所说,您正在尝试访问其他系统的 chrome,因此您应该将 chrome 驱动程序保留在该系统本身中。

        例如:如果您尝试从 windows 访问 linux chrome,那么您需要将您的 chrome 驱动程序放在 linux 中的某个位置并授予 777 权限并在您的 windows 系统中使用以下代码。

        System.setProperty("webdriver.chrome.driver", "\\var\\www\\Jar\\chromedriver");
        Capability= DesiredCapabilities.chrome();   Capability.setPlatform(org.openqa.selenium.Platform.ANY);
        browser=new RemoteWebDriver(new URL(nodeURL),Capability);
        

        这是我系统的工作代码。

        【讨论】:

          【解决方案6】:

          我从一开始就在使用它,它总是有效的。 =)

          System.setProperty("webdriver.chrome.driver", "C:\\pathto\\my\\chromedriver.exe");
          WebDriver driver = new ChromeDriver();
          driver.get("http://www.google.com");
          

          【讨论】:

            猜你喜欢
            • 2012-07-12
            • 2017-09-09
            • 2020-08-07
            • 2018-09-02
            • 2019-01-19
            • 1970-01-01
            • 1970-01-01
            • 2020-05-21
            相关资源
            最近更新 更多