首页 技术 正文
技术 2022年11月10日
0 收藏 982 点赞 4,799 浏览 1341 个字

selenium有三种等待方式

1、time.sleep()

设置等待最简单的方法就是强制等待,但一般不建议使用,可以在调试的时候进行使用

2、隐性等待

driver.implictily_wait(),隐性等待设置了一个时间,在一段时间内网页是否加载完成,如果完成了,就进行下一步,在设置的时间内没有加载完成,就会报超时加载

from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.implicitly_wait(20)#隐性等待,最长等20s,如果完成了,就操作下一步,如果没有完成,就报超时加载
driver.get('http://ui.imdsx.cn/uitester/')
# 最大化浏览器
driver.maximize_window()
# 定位到页面顶部
js='window.scrollTo(0,0)'
driver.execute_script(js)隐性等待的设置是全局性的,在开头设置过后,整个程序的运行过程中都会有效,都会等待页面加载完成,不需要每次设置一遍。
3、显示等待
每经过多少秒就查看一次local的元素是否可见,如果可见就停止等待,如果不可见
# author=zyq
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.implicitly_wait(20)#隐性等待,最长等20s,如果完成了,就操作下一步,如果没有完成,就报超时异常,
driver.get('http://ui.imdsx.cn/uitester/')
# 最大化浏览器
driver.maximize_window()
# 定位到页面顶部
js='window.scrollTo(0,0)'
driver.execute_script(js)from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
# driver[传入webdriver实例], timeout[超时时间,等待的最长时间], poll_frequency[调用until或者until_not中的方法的间隔时间]
WebDriverWait()
# until(method,message)
# method:在等待期间,每隔一段时间调用这个传入的方法,直到返回值不是false
# message:如果超时,抛出超时的异常
s = (By.CSS_SELECTOR,'#i1')
WebDriverWait(driver,10,0.5).\
until(EC.presence_of_element_located(s))
driver.find_element_by_css_selector('#i1').send_keys(111)
# WebDriverWait(driver, 超时时长, 调用频率, 忽略异常).until(可执行方法, 超时时返回的信息)
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,000
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,512
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,358
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,141
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,771
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,849