selenium webdriver判断element是否存在

        有时候不知道某个元素或者alter是否存在,但为了程序更加健壮性,需要对元素做出是否存在的判断,以分别做出不同的操作。

selenium是没有默认的方法或函数的,但是我们可以通过try  except 捕获异常来自己封装函数:

示例代码如下:

from selenium import webdriver

class ElementExist(object):
@classmethod
def isElementExist(cls,driver,elements):
"""
:param driver: 浏览器驱动
:param elements: 元素xpath定位方法
:return: type bool ,True or False
"""
try:
driver.find_element_by_xpath(elements)
print("True")
return True
except:
print("False")
return False

@classmethod
def isexistAlter(cls,driver):
"""
:param driver: 浏览器驱动
:param alter: 弹窗
:return: type bool ,True or False
"""
try:
alter=driver.switch_to.alert
alter.text
return True
except:
print("False")
return False


if __name__=="__main__":
driver = webdriver.Chrome(executable_path="C:\Python37chromedriver.exe") # google驱动地址
driver.get("https://www.baidu.com")
ElementExist.isElementExist(driver,'//input[@id="su"]')
#ElementExist.isexistAlter(driver)



原文地址:https://www.cnblogs.com/whitemouseV2-0/p/12624205.html