selenium学习--等待元素出现

文章讲述了在使用Selenium进行自动化测试时,如果在click操作后立即进行查询可能会遇到空页面问题,因此建议使用implicitly_wait设置最大等待时间,确保元素出现后再进行后续操作。通过示例代码展示了如何正确处理这种异常情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在调用click操作后如果继续发生查询操作,此时代码中若进行查询操作可能会对空页面查询,会抛出异常,应等到元素出现后再继续进行操作。

解决办法:设置implicitly_wait(x), x为最大等待时长,该方法会每隔0.5秒查询目标元素是否存在,是则退出。

代码:

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

if __name__ == '__main__':
    wd = webdriver.Chrome()
    # 每隔0.5秒寻找该元素,直到该元素被找到,若超出最大等待时间,则抛出异常
    wd.implicitly_wait(10)  # 10指定最大等待时长,后续的定位操作都会按这个最大时长来进行
    wd.get('https://www.byhy.net/_files/stock1.html')
    element = wd.find_element(By.ID, "kw")
    element.send_keys("通讯")
    element = wd.find_element(By.ID, "go")
    element.click()
    """此时需要等待之前查询结束,元素出现后才能继续进行查找工作"""
    try:
        element = wd.find_element(By.CLASS_NAME, "name")  # 此时进行查询页面处于空白
        print(element.text)
    except Exception:
        print("没有查询到")
    input()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值