Selenium UnreachableBrowserException – Java

System.setProperty("webdriver.chrome.driver","D:/chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.navigate().to("https://link"); driver.findElement(By.cssSelector("#username")).sendKeys("id"); driver.findElement(By.cssSelector("#password")).sendKeys("pass"); driver.findElement(By.cssSelector("#clientName")).sendKeys("name"); driver.findElement(By.cssSelector("#submitButton")).click(); System.out.println("Okay !"); 

我为Chrome驱动程序设置了属性。 当我运行它时会出错。 (下面)我搜索了很多,但没有找到任何解决方案。

 Starting ChromeDriver 2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab) on port 10589 Only local connections are allowed. 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. Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T15:15:03.216Z' System info: host: 'DESKTOP-9HVORCR', ip: '192.168.1.24', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_171' Driver info: driver.version: ChromeDriver at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:564) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:207) at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:130) at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:181) at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:168) at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:123) at zaaa.main.main(main.java:11) Caused by: java.lang.IllegalArgumentException: Unexpected char 0x131 at 23 in User-Agent value: selenium/3.12.0 (java wındows) at okhttp3.Headers$Builder.checkNameAndValue(Headers.java:338) at okhttp3.Headers$Builder.add(Headers.java:288) at okhttp3.Request$Builder.addHeader(Request.java:177) at org.openqa.selenium.remote.internal.OkHttpClient.execute(OkHttpClient.java:85) at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:101) at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73) at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136) at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543) ... 6 more 

我试过这些:

  1. 32/64位驱动程序。
  2. 以管理员身份运行它。
  3. 创建Try / Catch块。
  4. 其他司机。 (与Operadriver.exe一样)(结果:相同错误)

我觉得你的窗户不是英文。 我有同样的问题。 当我在英文版windows 10中尝试相同时,代码可以毫无问题地工作。

在实例化“WebDriver driver = new ChromeDriver();”之前添加这些行。

 ChromeOptions chromeOptions = new ChromeOptions(); chromeOptions.addArguments("--no-sandbox"); 

然后在你声明了Webdriver的地方添加参数,如下所示: –

 WebDriver driver = new ChromeDriver(chromeOptions); 

我希望它会对你有所帮助。

在这里你正在使用
selenium版 :3.12.0
chromedriver版本 :2.40

当我尝试使用这些配置运行时(它们目前是最新的)我可以毫无例外地启动应用程序并在日志中获取:

 Starting ChromeDriver 2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab) on port 35584 Only local connections are allowed. Jun 21, 2018 2:42:51 PM org.openqa.selenium.remote.ProtocolHandshake createSession INFO: Detected dialect: OSS Okay ! 

这与您的起始日志相同。 我的Chrome浏览器版本是:

 Version 67.0.3396.87 (Official Build) (64-bit) 

我认为你应该检查你的.m2文件夹并删除

.m2目录\库\组织\ seleniumhq \selenium

从那里的文件夹,然后再次尝试下载依赖项。

还会更新到最新的Chrome浏览器版本。

希望能帮助到你。

这是土耳其Windows的问题。 正如exception消息中所示,用户代理值“selenium / 3.12.0(javawındows)”中的“ı”字符是exception的原因。 问题是字符串“ WINDOWS ”被更改为小写,并且由于TR语言环境而导致“ wındows ”。 我发现它是在类org.openqa.selenium.remote.http.HttpClient生成的,并且像这样添加了Locale.US

 String USER_AGENT = String.format( "selenium/%s (java %s)", new BuildInfo().getReleaseLabel(), (Platform.getCurrent().family() == null ? Platform.getCurrent().toString().toLowerCase(Locale.US) : Platform.getCurrent().family().toString().toLowerCase(Locale.US))); 

我用我的更改编译了库,现在可以正常工作了。 我还在github上打开了一个pull请求 。

你也可以在这里找到我编辑过的fork。