目的:自动化中通常需要根据元素是否存在,来决定下一步的动作;比如 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只会判断一次,恰巧元素正在加载中,那么返回就失败即元素不存在了;文章来源:https://www.toymoban.com/news/detail-808166.html
方式2是driver内置的方法,显示等待,超时时间20s内,不断重试,只要元素在20s内加载出来了,就返回存在;这比方式1要稳定很多;文章来源地址https://www.toymoban.com/news/detail-808166.html
到了这里,关于selenium 判断元素是否存在的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!