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

Selenium WebDriver-如何使用C#设置页面加载超时

庄浩言
2023-03-14

我正在使用Selenium2.20WebDriver用C#创建和管理一个firefox浏览器。要访问页面,我使用以下代码,在访问URL之前设置驱动超时:

driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(5)); // Set implicit wait timeouts to 5 secs
driver.Manage().Timeouts().SetScriptTimeout(new TimeSpan(0, 0, 0, 5));  // Set script timeouts to 5 secs
driver.Navigate().GoToUrl(myUrl);   // Goto page url

问题是,有时加载页面需要花费很长时间,使用selenium WebDriver加载页面的默认超时时间似乎是30秒,这太长了。并且我认为我设置的超时不适用于使用GoToUrl()方法加载页面。

所以我试图弄清楚如何设置页面加载的超时,然而,我找不到任何实际工作的属性或方法。默认的30秒超时似乎也适用于我单击某个元素时。

有没有一种方法可以将页面加载超时设置为一个特定的值,这样当我调用GoToUrl()方法时,它只会等待我指定的时间再继续?

共有1个答案

何安宜
2023-03-14
driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(5);

注意:driver.manage().timeouts().SetPageLoadTimeout(TimesPan.FromSeconds(5))现在不推荐使用。

 类似资料:
  • 我需要在tomcat会话超时后向用户提供错误页面。因此,为了处理这个问题,我们创建了一个过滤器,并添加了一些逻辑来检测这个问题,在此之后,我要说的是转到错误页面。 在会话超时之后,我看到它将纠正“if”逻辑,并且它不会转发/重定向到我的error.jsp。它给出了一个404错误。我尝试了页面的重定向和转发,但都没有成功。我对error.jsp页面的绝对路径和相对路径都很累,但我仍然看到404错误,

  • 问题内容: 我正在尝试将MutationObserver设置为在加载时观察页面突变。 为此,应在页面加载之前配置MutationObserver。 使用selenium-chromedriver,找不到为此目的注入JS的方法。 我知道chrome扩展程序可以做到这一点,但扩展程序无法在无头模式下工作。 那就是问题所在。 问题答案: 通过调用DevTool API可以实现

  • 问题内容: 我有一个PHP include,它需要一段时间才能加载,因为PHP必须获取很多数据。我不想放慢整个网页的加载,以等待包含此内容,那么如何使用ajax加载该包含内容呢?我不希望通过单击按钮来触发Ajax,而只是希望它在页面加载时加载包含,因此,如果您查看下面的示例,则会在显示内含代码的同时显示“更多HTML内容”。 php仍在加载中。 问题答案: 如果您使用的是jQuery,则可以使用他

  • 我有一个链接。当用户单击此链接时,页面将被重新加载。我是这样做的。。。。。。 html JS 在控制器中,我使用了javascript,这对我来说似乎很糟糕。我怎么能用angularjs做

  • 我想更改页面加载时的“选择组件”值。我读了相关的帖子,那里提出的每一个解决方案都适用于点击按钮。然而,我想要的是在页面加载后设置值,而不需要任何用户操作。我拥有的是: 以及: 我有相同的代码附加到按钮上,并且它可以工作。它只是不适用于准备()函数。所以我的问题是:如何在页面加载后设置选择值? 完整html

  • 问题内容: 我已经通过Ajax调用通过隐藏的iframe读取了Facebook加载页面的地方…这是真的吗? 问题答案: Facebook使用他们称为BigPipe的东西,它将页面分成一堆小小的“小页面”,这些小页面分别通过AJAX加载。 在下图中,浅蓝色突出显示的区域是单个的小页面。