python selenium 等待元素出现_python3+selenium3自动化测试—元素等待-等待显示

在打开网页定位元素的时候,在网络不好或者页面卡顿的情况下会导致元素定位失败,此时不建议使用sleep()强制等待。

首先正常导入模块

1 from selenium import webdriver

2 from selenium.webdriver.support.ui import WebDriverWait

3 from selenium.webdriver.support import expected_conditions as EC

4 from selenium.webdriver.common.by import By

5 from time import sleep

上面的模块分别为:

WebDriverWait:显示等待模块(必用)

expected_conditions:预期条件类(里面包含方法可以调用,用于等待显示)

By:用于定位元素

as的作用类似于定义一个变量,即把“expected_conditions”定义为“as”,后期代码书写便捷

1 driver=webdriver.Firefox()

2

3 driver.get("http://baidu.com")

4 sleep(2)

5

6 driver.find_element_by_css_selector("#kw").send_keys("Selenium")

正常打开百度网页

1 element=WebDriverWait(driver,5,0.5).until(EC.presence_of_element_located((By.ID,'su')))

定义一个值,打开网页后等待五秒,每0.5秒请求一次,知道可以获取到ID='su'的这个元素

1 element.click()

点击按钮

全部代码如下

1 from selenium import webdriver

2 from selenium.webdriver.support.ui import WebDriverWait

3 from selenium.webdriver.support import expected_conditions as EC

4 from selenium.webdriver.common.by import By

5 from time import sleep

6

7

8 driver=webdriver.Firefox()

9

10 driver.get("http://baidu.com")

11 sleep(2)

12

13 driver.find_element_by_css_selector("#kw").send_keys("Selenium")

14

15 element=WebDriverWait(driver,5,0.5).until(EC.presence_of_element_located((By.ID,'su11')))

16

17 element.click()

18

19 sleep(3)

标签:webdriver,driver,selenium,element,sleep,selenium3,import,等待,python3

来源: https://www.cnblogs.com/HYL1003597280/p/14311124.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值