手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

Selenium操作浏览器等待页面加载实例

时间:2024-10-14 00:37:58

1、打开python开发工具IDLE,新建‘衡痕贤伎seltest.py’文件,并写代码如下:from selenium import webdri即枢潋雳verfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditions from selenium.webdriver.common.by import ByWebDriverWait 是等待方法,接收参数如下:1、driver: WebDriver实例2、timeout: 超时时间,等待条件的最长时间3、poll_frequency: 若等待条件不出现,再次调用until或until_not的间隔,默认是0.5秒4、ignored_exceptions: 这是个异常的元组,在until或until_not的出现的异常在元组中,继续执行,不在,抛出异常,程序退出,一般开始时不填写,这样也能观察到异常。expected_conditions 是期望的条件

Selenium操作浏览器等待页面加载实例

2、测试打开百度,代码如下:from selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditions from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()cont = driver.get('http://www.baidu.com')print (type(cont))print (cont)driver.quit()

Selenium操作浏览器等待页面加载实例

3、F5运行代码,可以看到一闪而过的百度页面,控制台打印出内容如下图

Selenium操作浏览器等待页面加载实例

4、打印出元素的内容,修改代码如下:from selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditions from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()cont = driver.get('http://www.baidu.com')print (type(cont))print (cont)ele = driver.find_element_by_id('su')print (ele.get_attribute('value'))driver.quit()

Selenium操作浏览器等待页面加载实例

5、F5运行代码,打印出查找到的元素的value内容

Selenium操作浏览器等待页面加载实例

6、上面演示了selenium的魅力,如果网络环境不好或者页面加载需要时间较长时候,这时候就要用到WebDriverWait这个厉害的等待方法了,修改代码如下:from selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditions from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()cont = driver.get('http://www.baidu.com')print (type(cont))print (cont)findby = (By.ID,'su')elem = WebDriverWait(driver,10).until(expected_conditions.presence_of_element_located(findby))print (elem.get_attribute('value'))driver.quit()

Selenium操作浏览器等待页面加载实例

7、F5运行代码,selenium会操作浏览器直到想要的元素出现,打印出内容如下图

Selenium操作浏览器等待页面加载实例
© 手抄报圈