当前位置: 首页 > news >正文

31-捕获异常(NoSuchElementException)

        在定位元素的时候,经常会遇到各种异常,遇到异常又该如何处理呢?本篇通过学习selenium的exceptions模块,了解异常发生的原因。

一、发生异常

        打开百度搜索首页,定位搜索框,此元素id="kw"。为了故意让它定位失败,我在元素属性后面加上xx,运行失败后如下图所示,程序在定位搜索框的这一行发生了中断,不会继续执行后续代码了。

from selenium import webdriver
import timedriver = webdriver.Chrome()
driver.get('https://www.baidu.com')
element = driver.find_element('id', 'kwxx')
element.send_keys('python')
time.sleep(5)

二、捕获异常

        为了让程序继续执行,我们可以用 try...except... 捕获异常。捕获异常后可以打印出异常原因,这样以便于分析异常原因。从如下异常内容可以看出,发生异常原因是:NoSuchElementException。selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="kwxx"]"}

        从 selenium.common.exceptions 导入 NoSuchElementException 类。

from selenium import webdriver
from selenium.common.exceptions import NoSuchElementExceptiondriver = webdriver.Chrome()
driver.get('https://www.baidu.com')
try:element = driver.find_element('id', 'kwxx')
except NoSuchElementException as e:print("报错:{}".format(e))
else:element.send_keys('python')

三、selenium常见异常

NoSuchElementException:没有找到元素
NoSuchFrameException:没有找到iframe
NoSuchWindowException:没找到窗口句柄handle
NoSuchAttributeException:属性错误
NoAlertPresentException:没找到alert弹出框
ElementNotVisibleException:元素不可见
ElementNotSelectableException:元素没有被选中
TimeoutException:查找元素超时
http://www.lryc.cn/news/368811.html

相关文章:

  • 使用Spring Boot设计对象存储系统
  • Apple开发者macOS设备与描述文件Profile创建完整过程
  • SpringBootWeb 篇-深入了解 Redis 五种类型命令与如何在 Java 中操作 Redis
  • mysql设置允许外部ip访问,局域网IP访问
  • mac虚拟光驱工具:Daemon Tools for Mac
  • 软考 系统架构设计师系列知识点之杂项集萃(32)
  • Web--CSS基础
  • 服务部署:Linux系统部署C# .NET项目
  • 【机器学习】基于卷积LSTM的视频预测
  • 细说wayland和X11
  • 数据结构:二叉树的实现
  • Helm离线部署Rancher2.7.10
  • Linux目录的作用和常用指令
  • Nvidia/算能 +FPGA+AI大算力边缘计算盒子:隧道和矿井绘图设备
  • MySQL物理备份
  • AWT常用组件
  • CorelDRAW2024破解激活码序列号一步到位
  • Webpack前端打包工具详解
  • 计网总结☞网络层
  • 【全开源】云调查考试问卷系统(FastAdmin+ThinkPHP+Uniapp)
  • 网络安全难学吗?2024该怎么系统学习网络安全?
  • 2 程序的灵魂—算法-2.4 怎样表示一个算法-2.4.6 用计算机语言表示算法
  • 重生之我要精通JAVA--第八周笔记
  • 51单片机独立按键控制LED灯,按键按一次亮,再按一次灭
  • 【上海大学计算机组成原理实验报告】七、程序转移机制
  • LLVM Cpu0 新后端7 第一部分 DAG调试 dot文件 Machine Pass
  • 修复www服务trace漏洞
  • 算法:101. 对称二叉树
  • wordpress 使用api发布文章
  • 《Brave New Words 》2.2 阅读理解的未来,让文字生动起来!