# 两个同时设置才行
# 实现效果:加载状态停止,进行代码下一步操作
driver.set_page_load_timeout(10)
driver.set_script_timeout(10) # 这两种设置都进行才有效
try:
driver.get("https://shopee.co.id/search?keyword=jam%20tangan&page=" + str(page) + "&sortBy=" + rankBY)
except:
driver.execute_script('window.stop()')
————————————————
版权声明:本文为CSDN博主「cool_soup29」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cool_soup29/article/details/88657643

在执行自动化测试用例过程中,发现因为网络慢或其他原因导致driver.get(url) 时,页面一直在加载,页面没有加载完成就不会去继续执行下面的动作,但是实际上需要操作的元素已经加载出来了。

解决方法

第一步:使用 set_script_timeout() 设置等待最大时间。

第二步:到了最大等待时间后页面如果仍然没有加载完成,执行js代码, driver.execute_script("window.stop()") 停止页面加载,执行下面的自动化测试步骤。
代码如下:

driver = self.driver
# 设置页面最大加载时间
driver.set_page_load_timeout(10)
try:
driver.get(self.base_url)
except TimeoutException:
print '!!!!!!time out after 10 seconds when loading page!!!!!!'
# 当页面加载时间超过设定时间,通过js来stop,即可执行后续动作
driver.execute_script("window.stop()")
  1. 设置了最大等待时间为10秒。
  2. 如果10秒没有加载完成,打印“time out after 10 seconds when loading page!”,然后停止加载,直接执行下面的测试步骤。
    # -*- coding: utf-8 -*-
    # @Time : 2018/8/6 11:12
    # @Author : 银河以北
    # @Email : smilegks@163.com
    # @Introduction : XXX def page_loading_timeout(driver, url, time):
    '''
    :param driver: 参数1,传入浏览器对象
    :param url: 参数2,传入url
    :param time: 参数3,设置超时时间,单位是秒
    :return:
    '''
    driver.set_page_load_timeout(time)
    try:
    driver.get(url)
    except:
    print "!!!!!!time out after %s seconds when loading page!!!!!!" % time
    # 当页面加载时间超过设定时间,通过js来stop,即可执行后续动作
    driver.execute_script("window.stop()")

最新文章

  1. Blogging with github Pages
  2. IE6 Must Die
  3. 一个Demo学完Android中所有的服务(转)
  4. Java编程思想学习(十六) 并发编程
  5. linux 内核模块ko入门
  6. js和 jquery对象
  7. R语言diagram包画订单状态流图
  8. 层叠上下文 Stacking Context
  9. mysql @变量和变量的区别及怎么判断记录唯一性
  10. Powerdesigner逆向工程从sql server数据库生成pdm (完整版)
  11. 使用ant插件打包生成jar文件
  12. js 关于性能的数据存储
  13. jquery获取iframe页面的元素
  14. OpenCV矩阵运算
  15. python3 练手实例7 斐波那契数列
  16. [PDOException] PDO::__construct(): php_network_getaddresses: getaddrinfo failed:
  17. ava 8中的新功能特性
  18. Mac下安装Mysql以及修改Mysql密码
  19. vue3.0 配置公共请求地址
  20. win10 添加项目右键用vscode打开

热门文章

  1. NX二次开发-UFUN获取边的端点UF_MODL_ask_edge_verts
  2. CSS3:CSS3 渐变(Gradients)
  3. pytong下安装安装SK-Learn
  4. USACO 2004 Open The Cow Lineup /// oj25965
  5. 【POJ】2240 Arbitrage
  6. CSS代码命名惯例语义化的方法
  7. java 迷你DVD管理器
  8. flutter 底部bottomNavigationBar凸起效果
  9. Photoshop基本操作
  10. day15 python-03 列表,元组,字典