selenium显式等待

本文介绍了如何在Selenium中使用WebDriverWait和ExpectedConditions实现显示等待,确保页面元素加载完成后执行相关操作,提升测试的稳定性和代码可靠性。通过实例演示了如何导入相关包,设置隐式等待,以及两种常见的元素定位和输入内容的方法。
摘要由CSDN通过智能技术生成

 selenium显示等待

确保页面元素在特定条件下加载完毕后再执行后续操作。显示等待可以通过WebDriverWait类和ExpectedConditions类来实现。通过使用显示等待,可以避免在页面元素还未加载完毕时就进行操作,从而提高测试的稳定性和可靠性。

# 导包
from selenium import webdriver
from time import sleep
# 获取浏览器驱动对象
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait

driver = webdriver.Edge()
driver.maximize_window()
# 设置元素等待  隐式等待 重要重要重要!!!
# 打开url
url = r"C:\Users\黄永生\Desktop\软件测试\P2C电子市场\web自动化_day01_课件+笔记+资料+代码\02_其他资料\注册A.html"
driver.get(url)

"""
    目标:显示等待使用
    操作:
        1. 导包 WebDriverWait()类
        2. 实例化WebDriverWait()类并调用until(method)方法
        method:匿名函数
        lambda x:x.find_element_by_id()
        
    需求:
        定位用户名输入admin
"""
# 实例化WebDriverWait()并调用until方法
# 注意:调用until方法返回的一定是一个元素
WebDriverWait(driver, timeout=10, poll_frequency=0.5).until(lambda x:x.find_element(By.ID,"#user")).send_keys("admin")
# 注意:此时username还不是元素,只有代码运行起来才是元素
# username.send_keys("admin")


# 写法2
# 获取 WebDriverWait示例对象
wait= WebDriverWait(driver,timeout=10, poll_frequency=0.5)
# 获取元素
username = wait.until(lambda x:x.find_element_by_id("#user"))
# 发送内容
username.send_keys("admin")
# 暂停 2
sleep(2)
# 关闭驱动对象
driver.quit()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Guff_hys

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值