我使用硒服务器独立罐-3.11.0,最新的ChromeDriver-2.36和Chrome版本66.0.3359.139
我的代码
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class WebDriverBasics {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "C:\\Users\\surya\\Downloads\\Compressed\\chromedriver_win32_2\\chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("http://www.facebook.com");
driver.manage().window().maximize();
}
}
但我无法启动chrome.its给出以下错误
Invalid port. Exiting...
?? ??, ???? ??:??:?? ????????? org.openqa.selenium.os.OsProcess checkForError
SEVERE: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
Exception in thread "main" org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
Build info: version: '3.11.0', revision: 'e59cfb3', time: '2018-03-11T20:33:15.31Z'
System info: host: 'DESKTOP-5GVJDVR', ip: '192.168.0.104', 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.service.DriverService.waitUntilAvailable(DriverService.java:192)
at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:178)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:79)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:209)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:132)
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 WebDriverBasics.main(WebDriverBasics.java:12)
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:????/status] to be available after ????? ms
at
将日期从阿拉伯文(或任何日期)更改为英文日期。
检查驾驶员位置是否正确。我可以毫无问题地发布Facebook。
package Practice;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class Facebook
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
System.setProperty("webdriver.chrome.driver", "./drivers/chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("http://www.facebook.com");
driver.manage().window().maximize();
}
}
此错误消息...
Invalid port. Exiting...
?? ??, ???? ??:??:?? ????????? org.openqa.selenium.os.OsProcess checkForError
SEVERE: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
...意味着OsProcessis无法绑定到系统中分配的空闲端口。
根据讨论获取无效端口错误
和
端口无效。退出
"端口无效。退出..."当分配给chromeDrive的端口小于0或大于65535时发生。
通过CLI执行netstat
命令,查看是否已达到可能打开的连接的限制,或检查给定端口上是否有其他应用程序正在运行
检查您的防火墙设置,很可能是防火墙配置导致了该问题
将ChromeDriver升级到当前的ChromeDriver v2。38级
将Chrome版本保持在Chrome v66。x级。(根据ChromeDriver v2.38发行说明)
- 通过IDE清理项目工作区,并仅使用所需的依赖项重建项目
- 在执行测试套件之前和之后,使用CCleaner工具清除所有操作系统杂务
- 如果您的基本Web客户端版本太旧,请通过Revo卸载程序卸载它,并安装最新的GA和发布的Web客户端版本
- 重新启动系统以释放端口
- 执行
@测试
注意:步骤1、2、7和8对于调试/解决您当前面临的问题至关重要。
作为替代方案,您可以强制WebDriver变体,即ChromeDriver在特定端口上启动,例如
65530
,如下所示:
>
System.setProperty("webdriver.chrome.driver","C:\\WebDrivers\\chromedriver.exe");
WebDriver driver= new ChromeDriver(new ChromeDriverService.Builder().usingPort(65530).build());
driver.get("https://www.google.com/");
控制台输出:
Starting ChromeDriver 83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103@{#416}) on port 65530
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
Jul 20, 2020 7:36:17 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
您可以在以下网站找到一些相关的详细讨论:
端口无效。退出...异常线程"main"org.openqa.selenium.WebDriverExc0019:驱动服务器进程过早死亡ChromeDriver Selenium
- org.openqa.selenium.os.OsProcessChecforError和org.apache.commons.exec.ExecteExcture:进程退出时带有Selenium ChromeDriver的错误
- 在通过Java和Selenium启动Internet Explorer时,"OsProcessForError: CreateProceerror=193,%1不是一个有效的Win32应用程序"
无效端口。退出…??,退出??????? org.openqa.selenium.os.OsProcesscheck ForError SEVERE:org.apache.commons.exec.ExecteExc0019:进程退出时出错: 1(退出值: 1)异常线程"main"org.openqa.selenium.WebDriverExc0019:超时等待驱动服务器启动。构建信息:版本:'3
我在尝试启动浏览器时收到此错误消息: org.openqa.selenium.firefox.NotConnected异常:45000 ms后无法连接到端口7055上的主机127.0.0.1。Firefox控制台输出: s":[],"hasEmbeddedWebExtense": false} 我使用的是和。
我得到了这个错误,我已经检查了留档,甚至在留档页面上的基本程序给出了这个错误。 色度驱动器:2.44 组织。openqa。硒。遥远的UnreachableBrowserException:无法启动新会话。可能的原因是远程服务器地址无效或浏览器启动失败。构建信息:版本:'2.45.0',修订版:'5017cb8e7ca8e37638dc3091b2440b90a1d8686f',时间:'2015-0
我读过一些在线文章,它们都指向一个方向,即当页面加载元素时,找不到元素。在my setData()中,您可以看到我尝试了一些方法,例如使用wait、implicitwait和第一次单击然后发送用户名。然而,一切似乎都不起作用。我还想过在pageProperties中使用“wait”,但后来改变了主意,因为这可能是一个糟糕的设计。 错误: 系统信息:Windows 10,ChromeDriver 2
启动后出现一个窗口并立即消失,我不明白怎么了。Google除了最新版本外,selenium还设置为LATEST参数(特定版本没有任何变化)。 错误: 代码:
我们用无头铬运行硒(JAVA)。这一切都需要大约300 MB的RAM。VPS有1 GB内存,但硒“粉碎”: 似乎没有足够的可用 RAM: 结果: 这是为什么?完整的流程列表如下: