无法使用MAC系统从硒启动Chrome [英] Unable to launch chrome from selenium, while using MAC system

查看:843
本文介绍了无法使用MAC系统从硒启动Chrome的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

MAC:10.11.6,
Selenium:2.53(同时试用3.4和3.8)&
Java 1.8



尝试设置驱动程序:

 字符串exePath =/ usr / local / Cellar / chromedriver / 2.35 / bin / chromedriver; 
System.setProperty(webdriver.chrome.driver,exePath);
WebDriver driver = new ChromeDriver();
驱动程序=新的C​​hromeDriver(选项);

错误堆栈跟踪:

 在端口14988上启动ChromeDriver 2.35.528157(4429ca2590d6988c0745c24c8858745aaaec01ef)
只允许本地连接。
线程main中的异常org.openqa.selenium.SessionNotCreatedException:会话未创建异常$ b $断开连接:无法连接到渲染器
(会话信息:chrome = 64.0.3282.140)
(驱动程序信息:chromedriver = 2.35.528157(4429ca2590d6988c0745c24c8858745aaaec01ef),platform = Mac OS X 10.11.6 x86_64)(警告:服务器没有提供任何堆栈跟踪信息)
命令持续时间或超时:2.55秒
Build info:version:'2.53.1',revision:'a36b8b1',time:'2016-06-30 17:32:46'
系统信息:主机:'01hw382197',ip:'172.25 .155.171',os.name:'Mac OS X',os.arch:'x86_64',os.version:'10 .11.6',java.version:'1.8.0_111'
驱动程序信息:org。 openqa.selenium.chrome.ChromeDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect .DelegatingConstruc torAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler。
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)
at org.openqa.selenium.remote.RemoteWebDriver。< init>(RemoteWebDriver.java:131)
at org.openqa.selenium.remote.RemoteWebDriver。< init>(RemoteWebDriver.java:144)
at org.openqa.selenium.chrome.ChromeDriver。< init>(ChromeDriver.java:170 )
at org.openqa.selenium.chrome.ChromeDriver。< init>(ChromeDriver.java:159)
at org.openqa.selenium.chrome.ChromeDriver。< init>(ChromeDriver.java :116)在dataAndConfig.Driv处
(BillingPayNow.java:27)


<看看下面的链接:


  1. https://github.com/SeleniumHQ/selenium/issues/4897

  2. WebDriverError:已断开连接:无法连接到渲染器

  3. https://github.com/SeleniumHQ/selenium/ issue / 4979

首先,您应确保您的ChromeDriver支持您的Chrome版本。既然你使用ChromeDriver 2.3.5和Google Chrome v64,你应该没问题。 (你仍然可能想升级你的Selenium版本)



根据上面提到的链接,你需要注释掉任何可以操纵浏览器窗​​口大小的方法办法。例如 setMaximize()



如果没有成功,您可能需要给选项。 addArguments(no-sandbox); a try。


MAC: 10.11.6, Selenium: 2.53(Also tried with 3.4 and 3.8) & Java 1.8

Driver settings tried:

String exePath ="/usr/local/Cellar/chromedriver/2.35/bin/chromedriver";
System.setProperty("webdriver.chrome.driver", exePath);
WebDriver driver = new ChromeDriver();
driver = new ChromeDriver(options);

Error stack trace:

Starting ChromeDriver 2.35.528157 (4429ca2590d6988c0745c24c8858745aaaec01ef) on port 14988
Only local connections are allowed.
Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: session not created exception
from disconnected: unable to connect to renderer
  (Session info: chrome=64.0.3282.140)
  (Driver info: chromedriver=2.35.528157 (4429ca2590d6988c0745c24c8858745aaaec01ef),platform=Mac OS X 10.11.6 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 2.55 seconds
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:32:46'
System info: host: '01hw382197', ip: '172.25.155.171', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.11.6', java.version: '1.8.0_111'
Driver info: org.openqa.selenium.chrome.ChromeDriver
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:170)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:159)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:116)
    at dataAndConfig.DriverClass.getDriver(DriverClass.java:39)
    at scriptsPostPaidWebApp.BillingPayNow.main(BillingPayNow.java:27)

解决方案

Have a look at the following links:

  1. https://github.com/SeleniumHQ/selenium/issues/4897
  2. WebDriverError: disconnected: unable to connect to renderer
  3. https://github.com/SeleniumHQ/selenium/issues/4979

First off you should make sure that your ChromeDriver supports your Chrome version. Since you are using ChromeDriver 2.3.5 and Google Chrome v64 you should be fine. (you still might want to upgrade your Selenium version)

According to the links posted above, you need to comment out every method that manipulates the window size of your browser in any way. e.g. setMaximize().

If that didnt work, you might want to give options.addArguments("no-sandbox"); a try.

这篇关于无法使用MAC系统从硒启动Chrome的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆