1114Selenium web自动化测试经验分享-设置网页超时加载时间set_page_load_timeout()

2023-05-16

最开始学习web自动化测试就遇到一个小困扰,有时候设计的用例可能会打开新浪、腾讯这些网站,等待网页加载完成都要小半分钟。最近重拾web自动化测试,又遇到这个困扰。

个人博客:https://blog.csdn.net/zyooooxie

今天分享下:通过set_page_load_time()方法来设定时间,然后捕获timeout异常 并通过执行JS命令来停止页面加载 window.stop()

一)set_page_load_timeout()

下面是源码。

可以看到 set_page_load_timeout() 设置网页超时加载时间 需要传入一个time_to_wait

    def set_page_load_timeout(self, time_to_wait):
        """
        Set the amount of time to wait for a page load to complete
           before throwing an error.

        :Args:
         - time_to_wait: The amount of time to wait

        :Usage:
            driver.set_page_load_timeout(30)
        """
        try:
            self.execute(Command.SET_TIMEOUTS, {
                'pageLoad': int(float(time_to_wait) * 1000)})
        except WebDriverException:
            self.execute(Command.SET_TIMEOUTS, {
                'ms': float(time_to_wait) * 1000,
                'type': 'page load'})

在Web自动化脚本执行时,浏览器打开网址会一直等待整个页面加载完成,但有时候页面想要的元素早就加载完成了,但是因为个别js之类的东西特别慢,只能干等着。

因为没有设置超时时间而且get方法默认是等待页面全部加载完成才会执行下一步

二)实战

    def test_59c(self):
        """set_page_load_timeout"""
        driver = webdriver.Chrome()
        driver.set_page_load_timeout(8)     # 可以自行设置加载时间
        print('0', time.ctime())
        try:
            driver.get("https://www.sina.com.cn/")      # 普通情况下,设置的 超时加载时间远远小于实际网页加载完成需要的时间,所以肯定会报错
        except:
            driver.execute_script('window.stop()')      # 执行Javascript来停止页面加载 window.stop()
            print('2', time.ctime())
        print('3', time.ctime())
        time.sleep(1)
        driver.quit()

浏览器关闭前,等待一秒的时候,可以看到网页已经停止加载,浏览器标签栏那个小圈不再转。

在这里插入图片描述

    def wangzhi(self, net):
        from selenium.common.exceptions import TimeoutException
        self.driver = webdriver.Chrome()
        self.driver.maximize_window()
        self.driver.set_page_load_timeout(10)        # 设定时间
        try:
            self.driver.get(net)
        except TimeoutException:        # 捕获timeout异常
            self.driver.execute_script('window.stop()')     # 执行Javascript来停止页面加载 window.stop()

可以把这一部分代码封装成方法,直接调用就可以。但是实际用处不是很大。只是一个小麻烦而已。

交流技术 欢迎+QQ 153132336 zy
个人博客 https://blog.csdn.net/zyooooxie

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

1114Selenium web自动化测试经验分享-设置网页超时加载时间set_page_load_timeout() 的相关文章

  • powershell Invoke-WebRequest WebSession 不起作用

    我无法让以下代码工作 它似乎已登录 但随后返回带有 response 的登录页面 我猜这与回发有关 有办法解决这个问题吗 谢谢 login Invoke WebRequest Uri http www sqlpass org UserLog
  • 网站 YouTube 嵌入视频不断播放

    我正在使用 youtube 提供的 iframe 在我的网站上嵌入视频 我还使用了一个 css 弹出窗口 这是我从这个页面学到的http www pat burt com web development how to do a css po
  • Azure Web 角色中的网站项目

    我正在研究一个新的 ASP Net 项目 我们希望将其托管在 Windows Azure Web 角色中 该项目的技术要求之一是利用 ASP Net 的完整预编译选项 不可更新 单页程序集 Web Site项目模型 与 ASP Net 相反
  • jQuery 清除 DOM 先前加载的脚本

    大家好 我正在开发一个项目 我使用 jQuery 将页面加载到 div 中 每个页面都有自己的 jQuery 脚本 我的问题是以前加载的脚本没有从 DOM 中清除 这给我的项目带来了更大的问题 例如 我在一个页面中有一组计时器 它会自动保存
  • 我想将我的 NEXT.js 项目链接到静态网站

    我有一个使用 HTML CSS 开发的网站 它是一个静态网站 但现在我使用 NEXT js 与 Strapi API 集成创建了一个博客项目 我的问题是如何将我的静态网站与我的 Next js 项目链接起来 我尝试使用链接标签 但没有用 i
  • Tomcat:源服务器没有找到目标资源的当前表示,或者不愿意透露该表示的存在[重复]

    这个问题在这里已经有答案了 我知道以前有类似的问题 但我仍然找不到正确的解决方案 我得到 源服务器没有找到目标资源的当前表示 或者不愿意透露该表示的存在 我正在使用 Tomcat 服务器 有人可以帮助我吗 以下是我的项目结构 我被这个问题困
  • 缩小 HTML、CSS 和 Javascript 是一个坏主意吗?

    维基百科定义缩小 http en wikipedia org wiki Minification 28programming 29 as 从源代码中删除所有不必要的字符而不改变其功能的过程 这些不必要的字符通常包括空格字符 换行符 注释 有
  • 删除 cookie php

    我正在尝试创建一个带有登录系统的平台 并将用户名和密码存储在cookie中 以使用户即使关闭浏览器然后再次输入也能保持登录状态 我设法保存了cookie 但我不知道如何制作注销按钮 这是代码 function logout body app
  • Tornado websocket handler , self.close() 正在关闭连接而不触发 on_close() 方法

    我是 python stackoverflow tornado 的新手 所以请耐心等待 纠正我 我正在使用龙卷风开发实时应用程序 当我在 Websocket 处理程序类中调用 self close 时 on close 方法不会启动 这次我
  • 从动态服务器中抓取 html 列表数据

    哈喽大家好 抱歉提出转储问题 这是我最后的手段 我发誓我尝试了无数其他 Stackoverflow 问题 不同的框架等 但这些似乎没有帮助 我有以下问题 一个网站显示一个数据列表 前面有大量的 div li span 等标签 它是一个很大的
  • 向下滚动时如何使图像移动?

    这是我想要实现的目标的示例 https www flambette com en https www flambette com en 我尝试过更改图像的 css 属性 但效果不能满足我的需求 我尝试过以下代码 mydocument on
  • Drupal 模板/主题资源或建议?

    我有兴趣为我正在开发的 Drupal 网站创建自定义主题 我是 Drupal 的新手 但是我在处理构建主题 CSS PHP HTML 所需的基本概念方面拥有相当多的经验 所以 我的问题是 我从哪里开始 有创建 Drupal 主题的规范指南吗
  • 使用哪个 HTTP 状态代码来拒绝由于乐观锁定失败而导致的 PUT

    假设我想实现某种乐观锁定并使用 ETag 来指示最新的资源状态 这意味着 客户将使用If Match标题时PUT等待更新 根据HTTP规范 http www w3 org Protocols rfc2616 rfc2616 sec14 ht
  • 每个元素的 asp.net Web 表单自定义错误消息

    我创建了一个 Web 应用程序 表单 以及后端 SQL 插入和查询 目前我正在显示所有用户错误消息 div style padding 1em div
  • 如何在Python中对集合进行排序? [复制]

    这个问题在这里已经有答案了 我试图通过向其中添加元素来对 python 中的集合进行排序 我尝试使用sorted 方法 但它正在将我的集合转换为列表 我需要对元素进行排序并将其作为一组打印 我怎样才能做到这一点 我尝试使用sorted 方法
  • 我应该使用哪个命令来缩小和优化 Nodejs Express 应用程序?

    我已经准备好 Express generator sccafold 网站并需要发布它 我应该使用哪个命令来缩小文件并优化发布 另外 我应该上传哪些目录 express generator是一个基于express框架的服务端渲染框架 而不是像
  • 直接从 Javascript 代码访问 SVG 文件

    我有这个 HTML 代码 它调用我的 javascript 代码 该代码用于仪表 在 javascript 代码中 我尝试访问 SVG 文件 并修改 仪表的 指针以显示所需的值 该代码运行良好 但是 我不想在 HTML 中调用 对象 id
  • python 集合可以包含的值的数量是否有限制?

    我正在尝试使用 python 设置作为 mysql 表中 ids 的过滤器 python集存储了所有要过滤的id 现在大约有30000个 这个数字会随着时间的推移慢慢增长 我担心python集的最大容量 它可以包含的元素数量有限制吗 您最大
  • 如何测量我的网站客户端的图像下载时间?

    在 Img 标签中 我们知道图像有一个 OnLoad 事件 该事件在图像完成加载时触发 但是我们能在图像开始下载时得到准确的测量结果吗 我正在尝试测量网站的页面加载时间 因此如果可能的话 了解加载图像需要多长时间将成为我分析的一部分 我想以
  • 使用其他聚合中的数据检查命令的有效性

    我目前正在开发我的第一个更大的 DDD 应用程序 目前来说 它运行得很好 但我们从早期就陷入了一个让我无法停止思考的问题 在我们的一些聚合中 我们保留对另一个聚合根的引用 这对于整个应用程序非常重要 基于它们的 ID 因此不存在硬引用 删除

随机推荐

  • centos7 安装mysql详细流程

    工作中经常需要安装mysql xff0c 每次安装的时候 xff0c 总是用不同的方法安装 xff0c 有错误就解决一下 xff0c 今天又重新装了一次mysql xff0c 记录下过程 xff0c 以后就用这种方式安装了 xff01 1
  • 10000端口无法运行

    1 查询端口 netstat ano findstr 10000 2 查询端口名 tasklist findstr 1572 3 关闭端口 taskkill pid 1572 F
  • Cmake编译-CMAKE_C_COMPILER-NOTFOUND解决

    第一次写博客 xff0c 其实就是记录一下从零开始的学习之路上遇到的各种 bug xff0c 一方面为了防止忘了犯过的错误 xff08 比如下一次 xff09 xff1b 另一方面为了从错误中汲取经历 分析 bug 之前 xff0c 记录一
  • libcurl官方实例代码(HTTP,FTP,上传下载等等)

    http curl haxx se libcurl c example html Some of the Examples simple HTTP simple c shows how to get a remote web page in
  • stm32驱动NRF24L01_原理+代码解析

    目录 概念 废话篇 xff08 24L01简介 xff09 引脚分配 工作模式 通信地址理解 xff08 个人疑难点 xff09 原理分析 寄存器赏析 寄存器操作指令 配置寄存器 xff08 CONFIG xff0c 位置 xff1a 0X
  • CSS实现进度条和订单进度条

    由于近期需要做一个订单进度条 xff0c 比较直观的反应当前订单的状态 xff0c css样式借鉴了网上的相关代码 xff0c 下面是效果图 xff0c 以及实现说明 一 说明 1 首先页面需要引入jQuery的相关js 一般页面都已经引入
  • ROS中CANopen的使用(1)

    ROS中CANopen的使用 xff08 1 xff09 今天终于实现了通过ros来控制无人车 xff0c 心情非常激动 xff0c 先简要记录 工作环境 工控机使用的Ubuntu18 02 xff0c can卡采用的innodisk的UC
  • 组合导航在ROS中的解析(2)

    工作环境 ubuntu18 02 xff0c 组合导航使用网口接口 xff0c ros使用melodic实现过程 include lt ros ros h gt include lt stdio h gt include lt stdlib
  • 上位机与下位机进行交互

    一 上位机与下位机 xff08 1 xff09 什么是上位机 上位机是指可以直接发出操控命令的计算机 这里使用的是winfrom xff08 2 xff09 什么是下位机 下位机是指直接控制设备获取状况的计算机 xff0c 一般是PLC 单
  • alist无法访问文件 提示“failed get link ”这样修复

    阿里网盘挂载alist无法访问文件 xff0c 提示 failed get link invalid X Device Id xff1f 34 Failed get link invalid X Device Id 34 是挂载阿里云网盘到
  • STM32F4应用-串口通信

    STM32F4应用 串口通信 1 基本介绍1 1 简介1 2 串口协议1 3 通信过程 2 配置过程2 1 引脚复用2 2 配置步骤2 3 例子 参考文献 1 基本介绍 1 1 简介 串口通信涉及USART TX RX xff0c GND三
  • 使用ADB命令来停用、卸载荣耀20 PRO的系统应用

    今年双十一买了部荣耀20 Pro手机 xff0c 某天感觉某个系统应用 系统更新 贼烦人 xff0c 过段时间就提醒一次 xff1b 我就被逼着上网搜有没有思路 xff0c 然后就打开了罪恶的大门 个人博客 xff1a https blog
  • Python笔记【二】

    之前分享过一次我在学习Python的笔记 xff0c Python笔记 一 xff0c 最近有些新的收获 xff0c 分享一下 xff1b 个人博客 xff1a https blog csdn net zyooooxie random sa
  • Fiddler 使用命令行和Filters

    本文为博主原创 xff0c 未经许可严禁转载 本文链接 xff1a https blog csdn net zyooooxie article details 109020837 之前分享过一期 Fiddler断点 修改响应数据 xff0c
  • 代码改变生活-使用You-Get下载bilibili的视频【一】

    本文为博主原创 xff0c 未经许可严禁转载 本文链接 xff1a https blog csdn net zyooooxie article details 111307733 这篇分享是我在csdn的第100篇原创了 xff0c 真的是
  • Appium app自动化测试经验分享-find_element_by_android_uiautomator ()【二】

    本文为博主原创 xff0c 未经许可严禁转载 本文链接 xff1a https blog csdn net zyooooxie article details 113868447 之前分享过 find element by android
  • 数据完整性测试之【三】Redis缓存和数据库表里的记录

    本文为博主原创 xff0c 未经授权 xff0c 严禁转载及使用 本文链接 xff1a https blog csdn net zyooooxie article details 119377944 前面分享过 接口返回值 和 表记录 的校
  • Python笔记【十一】

    本文为博主原创 xff0c 未经授权 xff0c 严禁转载及使用 本文链接 xff1a https blog csdn net zyooooxie article details 123655926 继续学习Python xff0c 继续更
  • Python脚本之准备测试环境的用户数据

    本文为博主原创 xff0c 未经授权 xff0c 严禁转载及使用 本文链接 xff1a https blog csdn net zyooooxie article details 127645678 这期是讲述下 我准备测试环境用户数据的经
  • 1114Selenium web自动化测试经验分享-设置网页超时加载时间set_page_load_timeout()

    最开始学习web自动化测试就遇到一个小困扰 xff0c 有时候设计的用例可能会打开新浪 腾讯这些网站 xff0c 等待网页加载完成都要小半分钟 最近重拾web自动化测试 xff0c 又遇到这个困扰 个人博客 xff1a https blog