org.openqa.selenium.remote.UnreachableBrowserException如何定义EXE路径?

时间:2017-06-29 16:05:05

标签: java selenium selenium-webdriver

我在ChromeBrowser包中有这个java类代码(我做过)

package ChromeBrowser;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class LaunchChrome{

    public static void main(String[] args){
        String url = "<<<The URL I want to open>>>";
        WebDriver driver = setUp();
        launch(driver, url);
    }
    static void launch(WebDriver driver, String url) {
        driver.navigate().to(url);
    }
    static WebDriver setUp() {
        System.setProperty("webdriver.chrome.driver", "C:\\Selenium\\chromedriver.exe");
        WebDriver driver=new ChromeDriver();
        return driver;
    }
}

但是当我运行它时,我收到错误:

Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.

我采取的步骤:

  • 我安装了chrome。
  • 我已经下载了webdriver,并检查它是否在C:\ Selenium \ chromedriver.exe
  • java jdk在环境路径中
  • webdriver在环境路径中,添加以尝试解决,没有工作
  • 代码编译并在我的同事的机器上运行
  • 预期结果:

  • Chrome浏览器会打开我想要打开的网址。

    我是否需要在C:\ Program Files(x86)\ Google \ Chrome \ Application中定义chrome可执行文件的路径?

    请提前帮助我。

    编辑::我已经尝试了大多数其他堆栈溢出问题的错误名称,但它们没有帮助。

  • 2 个答案:

    答案 0 :(得分:-1)

    我不确定问题是什么,但您可以尝试以下建议 -

      
        
    1. System.setProperty(“webdriver.chrome.driver”,“C:/Selenium/chromedriver.exe”);

    2.   
    3. 这可能是您正在使用的“selenium”,“Chrome浏览器版本”和“Chrome驱动程序”版本之间的兼容性问题。如果   你正在使用Selenium 2.53,然后使用chrome驱动程序2.25应该工作   对你而言。

    4.   
    5. 从seleniumhq.org下载最新的chrome驱动程序

    6.   
    7. 将127.0.0.1 localhost添加到C:\ Windows \ System32 \ drivers \ etc \ hosts。

    8.   

    答案 1 :(得分:-3)

    似乎与Firefox创建会话存在一些问题。尝试使用以下代码并使用Chrome浏览器进行测试。

    您需要从https://sites.google.com/a/chromium.org/chromedriver/downloads

    下载可执行驱动程序
    public static void main(String[] args){
    System.setProperty("webdriver.chrome.driver",
    "/path/to/chromedriver");
    WebDriver driver = new ChromeDriver();
    driver = new ChromeDriver();
    //Puts an Implicit wait, Will wait for 10 seconds before throwing exception
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    
    //Launch website
    driver.get("http://www.calculator.net/");
    
    //Maximize the browser
    driver.manage().window().maximize();
    

    或检查网络设置(代理,防火墙,防病毒软件),有些东西是阻塞的 selenium和浏览器之间的联系。