selenium常用的API(四)设置get方法最大加载时间

我们在进行自动化测试的时候,使用get方法打开页面时会等到页面完全加载完才会执行后续操作,

有时我们需要的元素已加载完成,而部分JS未加载完导致加载时间很长,这无疑增加了自动化测试的时间,

针对此情况,可使用set_page_load_timeout(seconds)方法设置超时时间,然后捕获超时异常,然后继续执行后续操作。

#encoding=utf-8
import time
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
import unittest

class VisitUrl(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Ie(executable_path = "e:\\IEDriverServer")

    def test_visitURL(self):
        visitURL = "http://www.google.com"
        #限定页面加载时间最大为3秒
        self.driver.set_page_load_timeout(3)
        try:
            self.driver.get(visitURL)
        except TimeoutException:
            print u‘页面加载超时!‘
             #当页面加载时间超过设定时间,通过执行Javascript来停止载,然后继续执行后续操作
            self.driver.execute_script(‘window.stop()‘)
        time.sleep(2)

    def tearDown(self):
        self.driver.quit()

if __name__ == ‘__main__‘:
unittest.main()

原文地址:https://www.cnblogs.com/zeke-python-road/p/9347703.html

时间: 2024-10-13 01:26:55

selenium常用的API(四)设置get方法最大加载时间的相关文章

JAVA-初步认识-常用对象API(集合框架-重点方法entryset演示图解)

一. 对于上一节的操作而言,这里还有另外一种做法,相对而言,有一点麻烦. 从刚才的动作,总结出一个原理.map集合没有迭代器,但是我们可以把map转换成有迭代器的集合,比如说set. 这是为什么呢?为什么不返回arrylist,这是拿所有的键,键是唯一的,所以返回的应该是set集合,保证元素的唯一性. 接下来,在API当中,还有一个方法也是返回set集合,(这里的set有什么特殊含义么?) 现在用它来完成取出所有元素的方式.keyset大家比较容易明白,里面装的都是键.但是,entryset是返

selenium常用的API(七)判断元素是否可见

web页面不可见的元素虽不在页面上显示,但是存在于DOM树中,这些元素webdriver也能找到. element.is_displayed()方法可以判断元素是否在页面上显示,如果显示返回True,否则返回False. 用于测试的HTML代码: <html> <head> <title>HTML中显示与隐藏元素</title> <meta http-equiv="Content-Type" content="text/h

减少页面加载时间的方法

减少页面加载时间的方法? 加载时间:指感知的时间或者实际的加载速度. 方法: A.减少http请求(合并图片.合并文件) B.优化图片文件,减小其尺寸,特别是缩略图. [一定要按尺寸生成缩略图然后调用,不要在网页中用resize方法实现,虽然这样看到的图片外形小了,但是其加载的数据量一点也没减少.曾经见过有人在网页中加载的缩略图,其真实尺寸有10M之巨-普通图像.icon也要尽可能压缩后,可以采用web图像保存.减少颜色数等等方法实现.] C.图像格式的选择(GIF:提供的颜色较少,可用在一些对

Selenium2(java)selenium常用API 四

WebElement相关方法 1.点击操作 WebElement button = driver.findElement(By.id("login")); button.click(); 由元素对象调用click()方法:   2.清除操作 WebElement username = driver.findElement(By.id("username_input")); username.clear(); 调用之后,会把输入框的内容全部清空:   3.获得元素属性

笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用

Struts2登录 1. 需要注意:Struts2需要运行在JRE1.5及以上版本 2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDispatcher 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <filter>     <filter-name>struts2</filter-name>     <filter-class>org.apache.struts2.di

Selenium Web 自动化 - Selenium常用API

Selenium Web 自动化 - Selenium常用API 2016-08-01 1 WebElement相关方法2 iFrame的处理3 操作下拉选择框4 处理Alert5 处理浏览器弹出的新窗口6 执行JS脚本7 等待元素加载8 模拟键盘操作9 设置浏览器窗口大小10 上传文件11 Selenium处理HTML5 1 WebElement相关方法 Method   Summary void clear() If   this element is a text entry elemen

【转】各种常用浏览器“兼容性视图”设置方法

原文网址:http://work.haoysoft.com/orderking//public/compatibleviewseting.aspx 各种常用浏览器“兼容性视图”设置方法 订单管理系统的内容看不到或显示不正常时,需要设置浏览器的“兼容性视图”来保证系统的正常显示. 以下罗列出各种常用浏览器设置“兼容性视图”的方法,请根据您使用的浏览器来对照设置,以便系统能正常显示和使用. 1.IE浏览器“兼容性视图”设置 用IE浏览器打开订单管理系统后,在浏览器的地址栏的右边有一个的图标,如下图所

常用 Java API

常用Java API 一. java.io.BufferedReader类(用于从文件中读入一段字符:所属套件:java.io) 1. 构造函数BufferedReader(java.io.FileReader FileReader变量) 说明:新建一个BufferReader对象. 2. close方法 void close() 说明:关闭BufferReader对象. 3. readLine方法 java.lang.string readLine() 说明:从文件中读取一行字符.若为NULL

关于Facebook、twitter、google、pinterest四种分享方法,附带微博、QQ、微信、豆瓣等等

常用的国外网站分享推过,Facebook.twitter.google.pinterest这四种社交平台最常见,下面就简单介绍一下分享的方法. 首先,必须使用分享插件,share.js 获取方法: https://github.com/chenpenggood/share.js 这有两种分享文件:1.关于Facebook.twitter.google.pinterest四种分享方法, 简洁版,容量小 2.jQuery分享插件jquery.share.js享到QQ.微信.微博.google.in.