selenium之异常处理try…except…

在实际selenium自动化脚本开发及调试过程中,多多少少会存在脚本报错情况。报错信息大多数是网络加载延缓导致元素无法定位而报错,而这种情况的最直接的解决方法就是增加等待时间(强制等待、显式等待、隐式等待)来解决此问题。

但是实际开发中不一定只会因等待时间而报错情况。有前端调整的元素定位的情况,浏览器及对应驱动版本不一致无法兼容的情况……

以上情况可以使用python基础语法中的try…except…finally…给予异常的捕获、抛出及接下来要执行什么指令的情况。

用浏览器驱动举例子:
在这里插入图片描述
以上代码简单讲解了驱动存在问题的异常捕获、抛出及接下来要执行的情况。如果驱动一切正常则打印(驱动成功:),如果失败则打印(驱动失败:),最后try…except…走完其中一个路径之后,无论成功与否都会打印(随心所欲……)

为了进一步了解异常处理情况,增加使用元素定位问题写个相应例子:
在这里插入图片描述
两个例子简单讲解了异常如何使用,接下来整合所收集selenium对应的异常信息方法。

以下列出selenium提供的异常信息列表:

Exceptions(异常)异常可能发生在所有的WebDriver中的代码。
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
以上是selenium异常处理try…except…的方法讲解,下一期为selenium鼠标键盘事件。

文章来自公众号:睿江云计算
在这里插入图片描述文章来自公众号:睿江云计算

睿江云官网链接:https://www.eflycloud.com/home?from=RJ0024

在使用Selenium进行Web自动化测试时,可能会遇到各种异常情况,如元素找不到、超时、浏览器崩溃等。为了更好地处理这些异常,可以使用Python的异常处理机制来捕获和处理这些异常。以下是一些常见的Selenium异常处理方法: 1. try-except语句:使用try-except语句可以捕获并处理Selenium抛出的异常。例如: ```python from selenium import webdriver from selenium.common.exceptions import NoSuchElementException try: driver = webdriver.Chrome() driver.get("https://www.example.com") element = driver.find_element_by_id("some_element_id") except NoSuchElementException: print("Element not found") finally: driver.quit() ``` 在上面的代码中,使用`try`块尝试查找一个元素,如果元素不存在,则会抛出`NoSuchElementException`异常。然后在`except`块中进行异常处理,打印出相应的错误信息。最后,使用`finally`块关闭浏览器。 2. 自定义异常处理函数:除了使用`try-except`语句外,还可以自定义异常处理函数来处理Selenium的异常。例如: ```python from selenium import webdriver from selenium.common.exceptions import TimeoutException def handle_exception(driver, exception): if isinstance(exception, TimeoutException): print("Timeout occurred") else: print("An error occurred") driver = webdriver.Chrome() try: driver.get("https://www.example.com") # Some code that may raise exceptions except Exception as e: handle_exception(driver, e) finally: driver.quit() ``` 在上面的代码中,定义了一个`handle_exception`函数来根据不同的异常类型进行处理。在`try`块中执行可能抛出异常的代码,然后在`except`块中调用`handle_exception`函数来处理异常。最后,使用`finally`块关闭浏览器。 这些是处理Selenium异常的两种常见方法,根据具体的测试需求和场景,可以选择合适的异常处理方式。同时,还可以根据Selenium提供的其他异常类来处理更具体的异常情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值