189 8069 5689

python自动化框架selenium的使用方法

这篇文章将为大家详细讲解有关python自动化框架selenium的使用方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

我们提供的服务有:成都网站设计、网站建设、微信公众号开发、网站优化、网站认证、任县ssl等。为上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的任县网站制作公司

selenium三种等待方式

有时候为了保证脚本运行的稳定性,需要脚本中添加等待时间。

 强制等待

第一种也是最简单粗暴的一种办法就是强制等待sleep(xx),需要引入“time”模块,这种叫强制等待,不管你浏览器是否加载完了,程序都得等待3秒,3秒一到,继续执行下面的代码,作为调试很有用,有时候也可以在代码里这样等待,不过不建议总用这种等待方式,太死板,严重影响程序执行速度。

# -*- coding: utf-8 -*-
from selenium import webdriver
import time
 
driver = webdriver.Firefox()
driver.get('http://baidu.com')
 
time.sleep(3) # 强制等待3秒再执行下一步
 
print(driver.current_url)
driver.quit()

隐性等待

第二种办法叫隐性等待,通过添加 implicitly_wait() 方法就可以方便的实现智能等待;implicitly_wait(30) 的用法应该比 time.sleep() 更智能,后者只能选择一个固定的时间的等待,前者可以 在一个时间范围内智能的等待。

# -*- coding: utf-8 -*-
from selenium import webdriver
 
driver = webdriver.Firefox()
driver.implicitly_wait(30) # 隐性等待,最长等30秒
driver.get('http://baidu.com')
 
print(driver.current_url)
driver.quit()

显性等待

Init

l driver: 传入WebDriver实例,即我们上例中的driver

l timeout: 超时时间,等待的最长时间(同时要考虑隐性等待时间)

l poll_frequency: 调用until或until_not中的方法的间隔时间,默认是0.5秒

l ignored_exceptions: 忽略的异常,如果在调用until或until_not的过程中抛出这个元组中的异常,则不中断代码,继续等待,如果抛出的是这个元组外的异常,则中断代码,抛出异常。默认只有NoSuchElementException。

Until

method: 在等待期间,每隔一段时间(__init__中的poll_frequency)调用这个传入的方法,直到返回值不是False

message: 如果超时,抛出TimeoutException,将message传入异常

until_not

与until相反,until是当某元素出现或什么条件成立则继续执行,

until_not是当某元素消失或什么条件不成立则继续执行,参数也相同,不再赘述。

在这里,你可以用selenium提供的 expected_conditions 模块中的各种条件,也可以用WebElement的 is_displayed() 、is_enabled()、**is_selected() **方法,或者用自己封装的方法都可以。

关于python自动化框架selenium的使用方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


分享文章:python自动化框架selenium的使用方法
文章转载:http://jkwzsj.com/article/igeohh.html

其他资讯