【问题标题】:Selenium WebDriver not responding during redirectSelenium WebDriver 在重定向期间没有响应
【发布时间】:2019-07-06 01:25:48
【问题描述】:

我正在尝试使用 selenium chromedriver 访问网站。该网站重定向以尝试在重定向回原始站点之前使用弹出式单点登录 (SSO) 进行身份验证。在我访问网站并被重定向到 SSO 弹出窗口后,我无法向 webdriver 传递任何命令。

我尝试刷新浏览器,在 try/catch 中导航到不同的页面,但都失败了。我已经尝试更新我的 chromedriver 并通过 URL 传递身份验证凭据,但无济于事。

OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL http://localhost:57718/session/27f1542adf870ebc059a2a23b1061060/refresh timed out after 60 seconds.
  ----> System.Net.WebException : The operation has timed out
   at OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest request)
   at OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(Command commandToExecute)
   at OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(Command commandToExecute)
   at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
   at OpenQA.Selenium.Remote.RemoteNavigator.Refresh()

这是我尝试传递给 webdriver 的所有后续命令的错误消息。

【问题讨论】:

  • 您能找到解决方案吗?我也面临同样的问题。

标签: c# selenium selenium-webdriver selenium-chromedriver


【解决方案1】:

因此,一旦您的浏览器启动一个弹出窗口,您就想切换事件以在弹出窗口和最初启动的浏览器之间切换。您可以使用它的索引号来使用下面显示的命令来实现此目的。一旦切换到所需的窗口,您就可以按常规方式执行所需的操作。

var newDriver = driver.SwitchTo().Window(driver.WindowHandles[Windowindex]); //give index as 1 or 2 as required for your case. and use newdriver to perform actions and events

希望对您有所帮助。如果需要任何说明,请告诉我。

【讨论】:

  • 我仍然收到相同的错误消息。在等待页面加载时,webdriver 的命令仍然超时。
  • 能否请您提及确切的例外情况,以便我可以提供更好的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-27
  • 1970-01-01
  • 2017-02-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多