WebDriverException当实例化ChromeDriver



我使用ChromeDriver创建一个屏幕截图,如

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");

ChromeDriver.exe位于执行程序集的目录中。这在我的开发环境中工作得很好。但是当我在生产环境中运行它时,我得到了异常

OpenQA.Selenium。WebDriverException: Cannot start the driver service onhttp://localhost:58266/bei OpenQA.Selenium.DriverService.Start()
beiOpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(命令commandToExecute)贝OpenQA.Selenium.Remote.RemoteWebDriver.Execute(字符串driverCommandToExecute, Dictionary ' 2个参数OpenQA.Selenium.Remote.RemoteWebDriver.StartSession (ICapabilitiesdesiredCapabilities)贝OpenQA.Selenium.Remote.RemoteWebDriver . .男星(ICommandExecutor命令执行器,可执行所需的功能OpenQA.Selenium.Chrome.ChromeDriver . .男星(ChromeDriverService服务,ChromeOptions选项,TimeSpan commandTimeout) beiOpenQA.Selenium.Chrome.ChromeDriver . .男星(字符串chromeDriverDirectory, ChromeOptions选项)

Exception-Message中的portnumber总是不同的。

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

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

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

引用:
OpenQA.Selenium。WebDriverException: 'Cannot start driver service on http://localhost:20548/'
get chrome driver not in path当移动我的selenium可执行文件到另一台计算机

最新更新