TimeoutException 和 ElementClickInterceptedException 这2个异常怎么同时处理
时间: 2024-01-22 12:02:04 浏览: 142
Python 中的Selenium异常处理实例代码
要同时处理 `TimeoutException` 和 `ElementClickInterceptedException` 这两个异常,你可以使用多个 `except` 块来分别捕获并处理它们。在 `try` 块中,可以包含多个操作,如等待元素可点击和点击操作。在每个 `except` 块中,可以编写适当的代码来处理相应的异常。
以下是一个同时处理 `TimeoutException` 和 `ElementClickInterceptedException` 异常的示例代码:
```python
from selenium.common.exceptions import TimeoutException, ElementClickInterceptedException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
try:
element = WebDriverWait(driver, timeout).until(
EC.element_to_be_clickable((By.XPATH, "//*[@id='your_element_id']"))
)
# 在元素可点击后执行点击操作
element.click()
except ElementClickInterceptedException:
# 处理元素点击被阻拦异常的代码
print("元素点击被阻拦")
except TimeoutException:
# 处理超时异常的代码
print("元素定位超时")
```
在上面的示例代码中,我们在 `try` 块中使用了 `WebDriverWait` 类来等待元素可点击,并在 `except` 块中分别处理 `ElementClickInterceptedException` 和 `TimeoutException` 异常。你可以根据实际需要在每个 `except` 块中编写适当的代码来处理相应的异常情况。
阅读全文