selenium driver.get(url) 页面加载时间太长

在执行自动化测试用例过程中,发现因为网络慢或其他原因导致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.  
posted @ 2019-10-31 19:02  爱洗澡的猫妹  阅读(225)  评论(0)    收藏  举报