当前位置: 首页 > 面试题库 >

selenium等到文件准备好

毕宏盛
2023-03-14
问题内容

谁能让我让selenium等到页面完全加载后?我想要一些通用的东西,我知道我可以配置WebDriverWait并调用“
find”之类的东西让它等待,但我不会走那么远。我只需要测试页面是否成功加载,然后转到下一页进行测试即可。

我在.net中找到了某些内容,但无法在Java中运行。

IWait<IWebDriver> wait = new OpenQA.Selenium.Support.UI.WebDriverWait(driver, TimeSpan.FromSeconds(30.00));
wait.Until(driver1 => ((IJavaScriptExecutor)driver).ExecuteScript("return document.readyState").Equals("complete"));

有任何想法吗?


问题答案:

试试这个代码:

  driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);

上面的代码最多等待10秒钟才能加载页面。如果页面加载时间超出限制,它将抛出TimeoutException。您捕获异常并满足您的需求。我不确定抛出异常后是否退出页面加载。我还没有尝试此代码。想要尝试一下。

这是一个隐式等待。如果设置一次,它将具有作用域,直到Web Driver实例销毁为止。

有关更多信息,请参见文档WebDriver.Timeouts



 类似资料:
  • 问题内容: 我在中进行以下设置: 我正在使用包装将它们连接在一起。 这是传输层: 以及管道配置: 在中使用结果 如果我使用较大的连接尝试次数或增加连接重试次数来手动启动服务器,则该服务器最终将正常工作。如果我启动logstash并且过一会儿启动节点容器,它也可以工作。 问题在于,显然这不是一个好习惯,我无法猜测启动将花费多长时间,并且其中的指令根本没有帮助。 我需要一种方法来知道什么时候准备好,然

  • 2.1 准备内核头文件 内核头文件是Linux内核的源代码。有时候,用户需要编译内核头文件代码,为以后使用内核头文件做准备,本节将介绍编译内核头文件的详细步骤。 准备内核头文件的具体操作步骤如下所示。 (1)更新软件包列表。执行命令如下所示: [email protected]:~# apt-get update 输出结果如下所示: Binary 20130905-08:50] kali/non

  • 本书大部分篇幅会用来关注MongoDB的核心功能。所以我们基本上使用的是MongoDB的外壳(shell)。shell在学习MongoDB还有管理数据库的时候很有用,不过您的实际代码还是会用相应的语言来驱动mongoDB的。 这也引出了关于MongoDB您首先需要了解的东西:它的驱动。MongoDB有许多针对不同语言的官方驱动。可以认为这些驱动和您所熟知的各种数据库驱动是一样的。基于这些驱动,Mo

  • 先去准备,下载,安装几个东西。 命令行 使用 Vagrant,几乎都是在命令行下进行的,所以你需要先准备一个命令行界面。Windows 用户我推荐使用完整版的 cmder,macOS 用户可以使用系统自带的终端(Terminal)。 Windows 下载 cmder: https://github.com/cmderdev/cmder 虚拟机 选择一款虚拟机软件,Virtualbox,VMWare

  • 学习 CentOS,你需要一台安装了这种操作系统的机器,可以是一台真正的服务器,也可以是在本地电脑上创建的一台 CentOS 的虚拟机。Vagrant 入门教程 这本书里介绍了在本地管理虚拟机的方法。 虚拟机 创建一台 CentOS 系统的虚拟机。打开命令行,执行: cd ~/desktop mkdir wenjiangs-centos cd wenjiangs-centos vagrant

  • 问题内容: 我正在使用jQuery Mobile,并且无法理解经典文档就绪和jQuery Mobile页面事件之间的区别。 真正的区别是什么? 为何要 胜过 从一页切换到另一页时,页面事件的顺序是什么? 如何将数据从一页发送到另一页,并且可以访问前一页的数据? 问题答案: jQuery Mobile 1.4更新: 我的原始文章旨在用于旧的页面处理方式,基本上是jQuery Mobile 1.4之前