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

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

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

    1.  
      driver = self.driver
    2.  
      # 设置页面最大加载时间
    3.  
      driver.set_page_load_timeout(10)
    4.  
      try:
    5.  
      driver.get(self.base_url)
    6.  
      except TimeoutException:
    7.  
      print '!!!!!!time out after 10 seconds when loading page!!!!!!'
    8.  
      # 当页面加载时间超过设定时间,通过js来stop,即可执行后续动作
    9.  
      driver.execute_script("window.stop()")
    10.  

相关文章:

  • 2021-08-09
  • 2021-11-12
  • 2022-12-23
  • 2022-12-23
  • 2021-08-05
  • 2022-12-23
  • 2021-09-16
  • 2021-08-24
猜你喜欢
  • 2022-12-23
  • 2021-12-06
  • 2021-10-13
  • 2022-12-23
  • 2022-01-14
  • 2022-12-23
  • 2021-11-07
相关资源
相似解决方案