selenium+python 判断元素存在

selenium 里没有现成的方法判断一个元素是否存在,写个函数判断即可,方法有两个,find_elements或者捕获异常

一、find_elements

def is_element_exist(driver):
    list = driver.find_elements_by_css_selector(css_selector='.institution__list-inner')
    if len(list) == 0:
        print '没有该元素'
        return 0
    elif len(list) > = 0:
        print '共找到' + len(list) + '个元素'
        return 1

二、捕获异常

def is_element_exist(driver):
    try:
        driver.find_element_by_css_selector(css_selector='.institution__list-inner')
    except:
        return 0

三、使用示例

driver = webdriver.Chrome()
driver.get('http://xue.baidu.com/okam/pages/home/index')
res = is_element_exist(driver)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用selenium.webdriver提供的方法来判断元素是否存在,具体步骤如下: 1. 使用find_elements_by_xxx()方法查找元素,如果找到了元素,则返回一个列表,列表中包含所有符合条件的元素;如果没有找到元素,则返回一个空列表。 2. 判断返回的列表是否为空,如果为空,则说明元素存在;如果不为空,则说明元素存在。 示例代码如下: ```python from selenium import webdriver # 创建浏览器对象 browser = webdriver.Chrome() # 打开网页 browser.get('http://www.example.com') # 查找元素 elements = browser.find_elements_by_xpath('//div[@class="example"]') # 判断元素是否存在 if elements: print('元素存在') else: print('元素存在') # 关闭浏览器 browser.quit() ``` ### 回答2: Python Selenium是一种用于自动化浏览器控制的工具,常用于自动化测试、网站爬虫等方面。在使用Selenium时,有时需要判断某个页面元素是否存在Python提供了一种方法来实现这个功能。 首先需要导入Selenium的WebDriver模块,可以使用如下的代码: ```python from selenium import webdriver ``` 接下来,需要打开一个浏览器窗口: ```python driver = webdriver.Chrome() ``` 这里使用Chrome作为浏览器,也可以使用其他的浏览器,如Firefox、Safari等。 在对页面进行操作之前,需要先打开目标页面: ```python driver.get('http://www.example.com') ``` 到这里为止,我们已经准备好了基本的环境。接下来,我们需要编写代码来判断页面元素是否存在。一般来说,可以通过Selenium的find_element系列方法来查找页面元素,并尝试获取该元素,如果能够获取到,说明该元素存在,否则说明该元素存在。 如下是一个示例代码: ```python try: element = driver.find_element_by_id('example') except: element = None if element is None: print('Element not found!') else: print('Element found!') ``` 这段代码尝试通过ID查找一个元素,如果能够获取到该元素,说明该元素存在,打印“Element found!”;否则打印“Element not found!”。需要注意的是,这里使用了try-except语句,目的是捕获异常,避免程序因在不存在元素上进行操作而出错。 除了使用元素的ID来查找元素,还可以使用其他方式查找元素,如name、class name、tag name等,具体使用方法可以参考Selenium的文档。另外,也可以通过判断页面中的文本内容、URL等方式来判断元素是否存在。总之,Selenium提供了多种方法来判断页面元素是否存在,需要根据具体的场景选择合适的方法。 ### 回答3: 在Python中,使用selenium.webdriver模块的话,判断元素是否存在的方法分为两种: 1. 通过try except语句捕获异常来判断元素是否存在 在使用selenium.webdriver进行页面操作时,如果查找的元素存在,则会出现NoSuchElementException(没有找到元素)的异常。因此,我们可以使用try except语句捕获异常,如果捕获到了NoSuchElementException的异常,则说明该元素存在,否则说明该元素存在。 这种方法的代码示例如下: ```python from selenium import webdriver from selenium.common.exceptions import NoSuchElementException driver = webdriver.Chrome() # 初始化浏览器对象 try: driver.find_element_by_id('element_id') # 查找元素 except NoSuchElementException: print('元素存在') else: print('元素存在') finally: driver.quit() # 关闭浏览器 ``` 2. 使用find_elements_*()方法来判断元素是否存在 find_elements_*()方法返回的是一个列表,如果该列表为空,则说明该元素存在,否则说明该元素存在。这种方法的代码示例如下: ```python from selenium import webdriver driver = webdriver.Chrome() # 初始化浏览器对象 elements = driver.find_elements_by_id('element_id') # 查找元素 if len(elements) == 0: print('元素存在') else: print('元素存在') driver.quit() # 关闭浏览器 ``` 需要注意的是,使用find_elements_*()方法返回的是一个列表,因此需要通过len()函数来判断该列表是否为空,为0则表示元素存在,否则表示元素存在。 以上就是使用selenium.webdriver模块判断元素是否存在的两种方法,具体选择哪种方法,可以根据实际情况进行选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值