没有自带的函数用来判断某个元素是否存在
is_displayed函数只能用于该元素已经存在去判断该元素是否出现,而不能判断某个元素是否存在
刚开始用 if......else 去判断元素是否存在,结果发现 if 不成立时直接报错了,而并不会进入else
以下是错误写法
if self.find(By.XPATH,'//p[text()="暂无数据"]'): return "暂无数据" else: result = self.find(By.XPATH, '//tbody[@class="ant-table-tbody"]/tr/td[3]').text # 获取查询出的所有服务商名称 return result
会报错
打开判断一个元素是否存在的正确方式是创建一个判断函数
# 判断某个元素是否存在 def isElementExist(self, element): flag = True driver = self.driver try: driver.find_element_by_xpath(element) return flag except: flag = False return flag
然后使用该函数来判断元素是否存在
if isElementExist(self,'//p[text()="暂无数据"]'):
return "暂无数据" else: result = self.find(By.XPATH, '//tbody[@class="ant-table-tbody"]/tr/td[3]').text # 获取查询出的所有服务商名称 return result