首页 文章

无法从超时获得自动化扩展:超时从渲染器接收消息

提问于
浏览
12

使用Selenium Webdriver(C#)我不时会收到下一个错误:

System.InvalidOperationException:未知错误:无法从超时获取自动化扩展:超时从渲染器接收消息:-3.959(会话信息:chrome = 37.0.2062.120)(驱动程序信息:chromedriver = 2.10.267521,platform = Windows NT 6.2 x86_64 )

出现这种错误的方式:

OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(响应errorResponse)位于c:\ Projects \ webdriver \ dotnet \ src \ webdriver \ Remote \ RemoteWebDriver.cs:第1048行OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, C:\ Projects \ webdriver \ dotnet \ src \ webdriver \ Remote \ RemoteWebDriver.cs中的字典`2参数):AutomatedTests.DriverCover..ctor中的第865行(IWebDriver驱动程序)

所以,它发生在下一段代码中:

public class DriverCover
 {
        public DriverCover(IWebDriver driver)
        {
            _driver = driver;

            _driver.Manage().Window.Maximize(); //There is my mistake
        }

        private readonly IWebDriver _driver;
 }

我使用这个类作为PageObject类的基类,我使用PageFactory来初始化网页的元素 .

我有chromedriver v.2.10和Google Chrome v.37.0.2062.120 m

另外:在同一行我得到另一个错误:

OpenQA.Selenium.WebDriverException:远程WebDriver服务器对URL的HTTP请求http:// localhost:62407 / session / 021e05cd4c89abedb2abc77342b3bd7c / window / current / maxim 60秒后超时 . ----> System.Net.WebException:该操作在c:\ Projects \ webdriver \ dotnet \ src \ webdriver \ Remote \ HttpCommandExecutor.cs:line中的OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest请求)已超时 . 152在OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(命令commandToExecute)在c:\ Projects \ webdriver \ dotnet \ src \ webdriver \ Remote \ DriverServiceCommandExecutor.cs:第73行在OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute) ,字典`2参数)在c:\ Projects \ webdriver \ dotnet \ src \ webdriver \ Remote \ RemoteWebDriver.cs:877行AutomatedTests.DriverCover..ctor(IWebDriver驱动程序)

5 回答

  • 1

    更新ChromeDriver将解决此问题 .

  • 17

    有一个类似的问题,相同的错误,但在调用getScreenshotAs()....我有一个旧的ChromeDriver并更新修复了我的问题

  • 0

    我们看到与Chrome类似的东西,问题归结为我们在运行测试之前最大化浏览器的方式 .

    我们改变了这个:

    Driver.Manage().Window.Maximize();
    

    对此(仅适用于Chrome):

    if (typeof(TWebDriver) == typeof(ChromeDriver))
    {
        var options = new ChromeOptions();
        options.AddArgument("start-maximized");
    
        driver = new ChromeDriver(driverPath, options);
    }
    
  • -1

    这是因为Chrome驱动程序不匹配 . 我通过将驱动程序升级到最新版本来修复此问题.i . 2.29(https://chromedriver.storage.googleapis.com/index.html?path=2.29/

  • 4

    你可以尝试这个,为我工作我的Chrome浏览器版本是:57和Chrome驱动程序版本是:2.27通过添加以下代码行我解决了我的问题 .

    ChromeOptions options = new ChromeOptions();
    options.addArguments("enable-automation");
    options.addArguments("--disable-infobars");
    WebDriver driver = new ChromeDriver(options);
    

相关问题