前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python学习ui自动化三种等待方式

python学习ui自动化三种等待方式

作者头像
吾爱乐享
发布2020-03-09 13:42:25
9750
发布2020-03-09 13:42:25
举报
文章被收录于专栏:吾爱乐享吾爱乐享
代码语言:javascript
复制
'''
三种等待
1,强制等待 time.sleep(等待时间),一般用在跳转中,知道明显的时间
2,隐式等待 driver.implicitly_wait(等待时间),控制整个网页,等待网页加载完成,规定时间没有加载完成,继续执行下一步,一个网页只需加一个即可,放在所有的请求之前
3,显式等待 WebDriverWait(driver,等待时间,多长时间刷新一次,默认0.5s),该等待中有两个方法
until(元素位置,需要传一个元祖,元祖中有两个值,一个是定位位置方式,一个是定位的元素),
until_not()用法和until一样
等待元素加载完成后继续,如果规定时间没有加载完成,继续执行下一步
显式等待需要导入3个包
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
'''
代码语言:javascript
复制
import time

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver =webdriver.Chrome()
driver.implicitly_wait(30)
driver.get("http://www.baidu.com")
#定位元素
id =driver.find_element_by_id("kw")
name=id.get_attribute("name")
print(name)
idtest=id.text
id.send_keys("wuailexiang")
var = time.sleep(1)
driver.find_element_by_name("wd")
id.clear()
id.send_keys("吾爱乐享")
driver.find_element_by_id("su").click()
wait =WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.XPATH,"//a[contains(text(),'www.fenxiangbe.com/p/t')]")))#元祖
driver.find_element_by_xpath("//a[contains(text(),'www.fenxiangbe.com/p/t')]").click()
time.sleep(12)
driver.close()
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档