【发布时间】:2018-11-30 10:57:48
【问题描述】:
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.<init>(RemoteWebDriver.java:130)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
at org.openqa.selenium.chrome.ChromeDriver.<init>(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
我试过这些:
- 32/64 位驱动程序。
- 以管理员身份运行。
- 创建 Try/Catch 块。
- 其他驱动程序。 (如 Operadriver.exe)(结果:同样的错误)
【问题讨论】:
-
路径中有非法字符。由于它在另一台计算机上运行良好,我假设它在计算机名称中。
-
我也尝试了其他字符“\\”“/”。这与路径无关,因为 IDE 会在开始时找到驱动程序并运行。检查错误代码的顶部:在端口 10589 上启动 ChromeDriver 2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab) 只允许本地连接。
-
这与您在代码中编写的内容无关。 Selenium 使用机器信息,包括计算机名称。我猜问题就在那里。
-
我刚改了,结果一样。在端口 4892 上启动 ChromeDriver 2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab) 只允许本地连接。线程“主”org.openqa.selenium.remote.UnreachableBrowserException 中的异常:无法启动新会话。可能的原因是远程服务器地址无效或浏览器启动失败。构建信息:版本:'3.12.0',修订:'7c6e0b3',时间:'2018-05-08T15:15:03.216Z' 系统信息:主机:'SUPPLYCHAIN',ip:'192.168.1.24',操作系统。名称:'Windows 10',os.arch:'amd64',os.version:'10.0',java.version:'1.8.0_171'
-
您的 ChromeDriver 浏览器版本?使用客户端 jar 还是独立 jar?
标签: java selenium exception browser unreachable-statement