当前位置: 首页 > 知识库问答 >
问题:

实例化ChromeDriver时的WebDriverException

宋铭
2023-03-14
ChromeOptions options = new ChromeOptions();
options.AddArgument("headless"); 

var driver = new ChromeDriver(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), options);
driver.Navigate().GoToUrl("http://192.168.15.104:12347/WebPortal/controlSystemInternal");

driver.Manage().Window.Size = new System.Drawing.Size(1800, 1100);
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
wait.Until(ExpectedConditions.InvisibilityOfElementLocated(By.Id("wait")));
var screenshot = (driver as ITakesScreenshot).GetScreenshot();
screenshot.SaveAsFile("c:\\temp\\screenshot.png");

OpenQa.Selenium.WebDriverException:无法启动http://localhost:58266/bei OpenQa.Selenium.DriverService.start()
bei OpenQa.Selenium.Remote.DriverServiceCommandExecutor.Execute(命令命令执行)bei OpenQa.Selenium.Remote.RemoteWebDriver.Execute(字符串driverCommandToExecute)bei OpenQa.Selenium.Remote.RemoteWebDriver.Execute(字符串.chromeDriver.ctor(ChromeDriverService服务,ChromeOptions选项,TimeSpan commandTimeout)bei openqa.selenium.chrome.chromeDriver.ctor(String chromeDriverDirectory,ChromeOptions选项)

异常消息中的portnumbe总是不同的。

有人知道哪里出了问题吗?

共有1个答案

东方河
2023-03-14

1.ChromeDriver和Chrome major版本的Chrome浏览器可能不同。您可以手动同步它们(不推荐,因为您需要每1-3个月进行一次),也可以使用WebDriverManager自动同步。
2。检查是否有另一个ChromeDriver进程正在运行,您应该在停止使用后释放/退出该驱动程序。在开始测试时,我们还使用taskkill/f/im chromedriver.exe命令,以确保在干净状态下开始测试。

在我们的测试中,端口号总是不同的,也不会导致问题。但是如果ChromeDriver在生产机器上使用的端口范围没有打开,这也可能是问题的原因。

引用:
OpenQa.selenium.WebDriverException:“无法启动http://localhost:20548/上的驱动程序服务”
将我的selenium可执行文件移动到另一台计算机时,chrome驱动程序不在路径中

 类似资料:
  • 下面是我的applicationContext.xml的外观: ………… 我得到了这个错误: 创建异常:创建名称为“自定义编辑器配置器”的 Bean 时出错:在 Servlet上下文资源 [/WEB-INF/Spring-servlet.xml]中定义名称的 Bean 时出错: 初始化 Bean 失败;嵌套的异常是组织.Spring框架.豆.类型不匹配异常: 无法将类型为 “java.util.L

  • 我正试图启动chrome浏览器使用远程WebDriver与以下代码。 我得到了以下错误: 线程“main”中的异常org.openqa.selenium.remote.UnreachableBrowserException:无法启动新会话。可能的原因是远程服务器地址无效或浏览器启动失败。 我检查了端口9898是否打开。我在中的主机中添加了localhost 更新:我可以看到另外两个例外。

  • 假设你有一个绘制了很多模型的场景,而大部分的模型包含的是同一组顶点数据,只不过进行的是不同的世界空间变换。想象一个充满草的场景:每根草都是一个包含几个三角形的小模型。你可能会需要绘制很多根草,最终在每帧中你可能会需要渲染上千或者上万根草。因为每一根草仅仅是由几个三角形构成,渲染几乎是瞬间完成的,但上千个渲染函数调用却会极大地影响性能。 如果我们需要渲染大量物体时,代码看起来会像这样: for(un

  • 这是我的index.html 和我的servlet类 <代码>包学生;@WebServlet(“/StudentSurveyFormSubmit”)公共类StudentSurveyFormSubmit扩展HttpServlet{protected void doGet(HttpServletRequest request,HttpServletResponse response)throws Se

  • 本文向大家介绍js格式化时间的简单实例,包括了js格式化时间的简单实例的使用技巧和注意事项,需要的朋友参考一下 以上就是本文的全部内容,希望对大家有所帮助,同时也希望多多支持呐喊教程!