专栏首页吾爱乐享python学习ui自动化三种等待方式

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

'''
三种等待
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
'''
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()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • short s=1;s=s+1; short s=1;s+=1; 有区别么?? 如果有的话区别是什么?

    吾爱乐享
  • linux下搭建xampp集成环境及常见问题解决

    吾爱乐享
  • 软件测试之学习mysql的增删改(数据库重点)

    吾爱乐享
  • 政务大数据的上下文范围

    政务是个大市场,阿里、腾讯、电信、华为都在赔本赚吆喝。本文作者宇同学是资深从业人士,研发总监,他会写一系列文章来阐述政务云全景。 ...

    大数据和云计算技术
  • Selenium+TestNG实战-2 第一个Selenium脚本之登录

    前一篇,我们准备了好wordPress本地环境和eclipse编写脚本环境,这篇,我们新建一个Java main方法,不管什么技巧,框架,什么数据分离,完全是根...

    凯哥Java
  • Win7下修改Hosts文件

    WIN7或者VISTAWIN7或者VISTA系统的需要提升用户对Hosts文件的操作权限,否则无效。 具体方法如下: 方法一:按着Shift键,然后Hosts文...

    跟着阿笨一起玩NET
  • Mac开发跬步积累(四):ImageIO解析Gif 图像数据

    这里可以看到Gif 是保存了多幅图像的一个图像文件,有了这个基础认识,我们就可以使用代码来解析Gif图像了.

    代码行者
  • Mybatis高级查询之关联查询

    learn from:http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html#Result_Maps 关联查询 ...

    Ryan-Miao
  • 两阶段提交(2PC)及其在Flink Exactly-once中的应用

    场景描述:两阶段提交(two-phase commit, 2PC)是最基础的分布式一致性协议,应用广泛。本文来介绍它的相关细节以及它在Flink中的典型应用场景...

    王知无
  • 走进Java接口测试之从0到1搭建数据驱动框架(需求篇)

    一个 “好的” 数据驱动框架,需要从“时间”、“人力”、“收益”这三个方面出发,做好“取舍”。

    高楼Zee

扫码关注云+社区

领取腾讯云代金券