webdriver中判断元素是否存在的方法

Posted MilesMa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webdriver中判断元素是否存在的方法相关的知识,希望对你有一定的参考价值。

selenium.webdriver中没有内置的判断元素是否存在的方法,所以定义一个方法,如果找到该元素则返回True,否则返回False:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoSuchElementException

class Demo:
     def __init__(self):     # 初始化
        self.driver = webdriver.Chrome()    #实例化
        self.driver.get('http://www.demo.com')  #打开指定网址

    def is_element_present(self, how, what):    
        try:
            self.driver.find_element(by=how, value=what)
        except NoSuchElementException:
            return False
        return True
<html>
    <head>
    </head>
    <body>
        <a 
        href='http://www.baidu.com' 
        id='id_01' 
        class='class_01' 
        name='name_01'
        >这是一个链接</a>
    </body>
</html>
#通过id
is_element_present(By.ID,'id_01')
#通过name
is_element_present(By.NAME,'name_01')
# 通过class_name
is_element_present(By.CLASS_NAME,'class_01')
# 通过tag_name
is_element_present(By.TAG_NAME,'a')
# 通过

以上是关于webdriver中判断元素是否存在的方法的主要内容,如果未能解决你的问题,请参考以下文章

selenium常用的API判断元素是否可见

selenium—用NoSuchElementException异常判断页面元素是否存在

selenium判断元素是否为空

你的回答“用selenium webdriver来判断一个网页加载完毕”,如何用加载超时报异常来确定是否加载完毕?

webdriver获取变色的元素

selenium webdriver怎么定位td里面的元素