Selenium异常处理

本文介绍了在Python Selenium中如何处理异常,特别是在元素定位不到和元素时有时无的情况。当元素定位失败时,通过try…except…raise捕获异常并截取页面帮助定位问题。为避免代码冗余,提出了重写或自定义find_element()方法的解决方案。对于时有时无的元素,建议使用try…except…print来优雅地处理。
摘要由CSDN通过智能技术生成

Python需要处理异常的地方还是很多的,Python Selenium相对就比较少,Selenium处理异常主要用在两个地方:
1、元素定位不到时,抛出异常,截取发生异常浏览器窗口,方便定位问题;
2、元素时有时无,比如广告、促销活动弹框等。

下面详细说明两种情况的处理方法:
1、元素定位不到
使用try…except…raise语句处理异常。

driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
try:
    driver.find_element_by_class_name('btn self-btn bg s_btn').click()
except:
    driver.get_screenshot_as_file('image/login_button_not_found.png')
    raise

抛出的异常如下:

在这里插入图片描述

有异常时截取界面:
在这里插入图片描述
如果开发人员修改了前端的元素定位,尤其我们使用xpath定位方法时,抛出了异常,有了问题截图,就需要我们重写代码定位。

但每个元素都有被开发人

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值