Java Selenium总是在等待服务器启动时超时
所以最近我升级到Selenium 3.5.0和Chromedriver 2.32 每次我运行我的程序(在升级之前不久就停止工作)时,我都会遇到以下错误:Java Selenium总是在等待服务器启动时超时,java,selenium,selenium-chromedriver,Java,Selenium,Selenium Chromedriver,所以最近我升级到Selenium 3.5.0和Chromedriver 2.32 每次我运行我的程序(在升级之前不久就停止工作)时,我都会遇到以下错误: Timed out waiting for driver server to start. Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'XXXX', ip: '192.168.171.1', os.name: '
Timed out waiting for driver server to start.
Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
System info: host: 'XXXX', ip: '192.168.171.1', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_144'
Driver info: driver.version: ChromeDriver
它的实现方式是,单击GUI上的按钮,启动一个线程,该线程启动包含WebDriver对象的类:
try {
driver = DriverFactory.createDriver( Browser.CHROME, run_type );
if ( run_type == Type.WEB )
webSetup();
else
mobileSetup();
}
...
finally {
if ( driver != null )
driver.quit();
}
createDriver函数调用createChromeDriver,其简单如下:
private static ChromeDriver createChromeDriver(Run.Type t)
{
System.setProperty( "webdriver.chrome.driver", Properties.server() );
System.setProperty( "webdriver.chrome.driver.host", "127.0.0.1" );
ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-extensions");
if ( t == Type.MOBILE )
{
Map<String, String> mobileEmulation = new HashMap<String, String>();
mobileEmulation.put("deviceName", "Apple iPhone 6");
options.setExperimentalOption("mobileEmulation", mobileEmulation);
}
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
return new ChromeDriver(capabilities);
}
private static ChromeDriver createChromeDriver(Run.Type t)
{
System.setProperty(“webdriver.chrome.driver”,Properties.server());
System.setProperty(“webdriver.chrome.driver.host”,“127.0.0.1”);
ChromeOptions选项=新的ChromeOptions();
options.addArguments(“--disable extensions”);
if(t==Type.MOBILE)
{
Map mobileEmulation=new HashMap();
mobileEmulation.put(“deviceName”、“苹果iPhone 6”);
选项。设置实验选项(“移动模拟”,移动模拟);
}
DesiredCapabilities=DesiredCapabilities.chrome();
能力。设置能力(ChromeOptions.CAPABILITY,选项);
返回新的ChromeDriver(功能);
}
server()直接指向chromedriver.exe,我已经确定了这一点
我甚至试着在上运行PhantomJS示例,结果得到了相同的错误,但是驱动程序信息指向PhantomJS(见图)
最奇怪的是chromedriver.exe进程实际上是在后台启动的,如果我尝试多次运行该程序,就会产生多个chromedriver进程
有什么想法吗?我升级时遇到了类似的问题。发现我的反病毒软件阻止运行chromedriver可执行文件,因为它相当新,而且反病毒软件的可信可执行文件的中心repo中没有它
如果您有任何反病毒软件,请尝试禁用它。我在升级时遇到了类似的问题。发现我的反病毒软件阻止运行chromedriver可执行文件,因为它相当新,而且反病毒软件的可信可执行文件的中心repo中没有它
如果有,请尝试禁用防病毒软件。我遇到类似问题,发现在
/etc/hosts
127.0.0.1中没有绑定到本地主机
在etc/hosts
文件中添加127.0.0.1 localhost
解决了这个问题
尝试删除任何其他到localhost的绑定,只保留
127.0.0.1
我遇到了类似的问题,发现在/etc/hosts
127.0.0.1中没有绑定到localhost
在etc/hosts
文件中添加127.0.0.1 localhost
解决了这个问题
尝试删除任何其他到localhost的绑定,只保留
127.0.0.1
你怎么知道?我有AVG免费,我没有收到任何通知或任何东西。不管怎样,这就是它。谢谢你的帮助!你怎么知道?我有AVG免费,我没有收到任何通知或任何东西。不管怎样,这就是它。谢谢你的帮助!