#python #android #selenium #exception #appium
Вопрос:
На платформе есть еще по крайней мере 2 вопроса, но ни один из их ответов мне не помог.
Я только что импортировал:
from selenium.common.exceptions import NoSuchElementException
затем используется:
if Newest_tab_button: print('element found') else: print('not found')
или
try: wait = WebDriverWait(driver, 15) Newest_tab_button = wait.until(EC.visibility_of_element_located((By.XPATH, '//*[@text="NEWEST"]//ancestor::*[contains(@resource-id, "itemContainer")]'))) except NoSuchElementException: print('Element not found')
Ничего не получалось, все равно получилось:
selenium.common.exceptions.TimeoutException: Message:
Кто-нибудь может мне с этим помочь? Заранее спасибо.
Ответ №1:
Вы можете перехватывать несколько исключений в одном except
блоке или с несколькими except
блоками
try: wait = WebDriverWait(driver, 15) Newest_tab_button = wait.until(EC.visibility_of_element_located((By.XPATH, '//*[@text="NEWEST"]//ancestor::*[contains(@resource-id, "itemContainer")]'))) except TimeoutException as e: print("TimeoutException") except NoSuchElementException as e1: print("NoSuchElementException") except Exception as e3: # To catch an Exception other than the specified once. print(e3)
Или вам нужно поместить все исключения в кортеж:
except (TimeoutException,NoSuchElementException): # This catches either TimeoutException or NoSuchElementException print("ERROR")
Комментарии:
1. Первый метод работает как заклинание. Спасибо!!!
Ответ №2:
Во втором методе вы только ловите NoSuchElementException
, но проблема в том , что ваш сценарий истекает, и вы получаете TimeoutException
, вам просто нужно поймать и это, чтобы продолжить сценарий
from selenium.common.exceptions import NoSuchElementException, TimeoutException try: wait = WebDriverWait(driver, 15) Newest_tab_button = wait.until(EC.visibility_of_element_located((By.XPATH, '//*[@text="NEWEST"]//ancestor::*[contains(@resource-id, "itemContainer")]'))) except (NoSuchElementException, TimeoutException) as error: print(error) # Continue with the script
Комментарии:
1. Привет, Спасибо за попытку помочь, я получил: Python версии 3.7 не поддерживает этот синтаксис и синтаксическую ошибку: недопустимый синтаксис
2. @Claudaette Я пропустил скобки, код должен быть исправлен сейчас.