0


selenium 判断元素是否存在

目的:自动化中通常需要根据元素是否存在,来决定下一步的动作;比如 A存在就点击 下一步,B存在就点击保存;用于控制脚本的逻辑;

selenium中判断元素有几种方式

1、find_element(locateType, locate)

2、WebDriverWait(self.driver, 20, 0.5).until(EC.presence_of_element_located((locateType, locate)))

那么推荐使用2;如下:

# 判断元素是否存在
def elementTrue(drObject,locateType,locate):
    # 等待元素加载出来
    el = 1
    try:
        WebDriverWait(drObject, 5, 0.5).until(EC.presence_of_element_located((locateType, locate)))
    # 返回元素
    except:
        pass
        el = 0
        return el
    if el == 1:
        return el

为什么不用方式1,因为页面加载快慢问题,方式1只会判断一次,恰巧元素正在加载中,那么返回就失败即元素不存在了;

方式2是driver内置的方法,显示等待,超时时间20s内,不断重试,只要元素在20s内加载出来了,就返回存在;这比方式1要稳定很多;


本文转载自: https://blog.csdn.net/BenZ_X/article/details/134078780
版权归原作者 北极之熊熊 所有, 如有侵权,请联系我们删除。

“selenium 判断元素是否存在”的评论:

还没有评论