Я написал некоторый код Python / Selenium, который проверяет, отображается ли модальное сообщение об ошибке. Код работает, когда отображается модальное сообщение об ошибке, но останавливается и отображает сообщение «Невозможно найти элемент», когда модальное сообщение об ошибке НЕ отображается.
Я бы хотел, чтобы скрипт продолжал работать, даже если модальное сообщение об ошибке не отображается.
Я создал переменную с именем errorDisplays и установил значение false. Затем я создал оператор IF, чтобы проверить, отображается ли модальное сообщение об ошибке. Если это так, errorDisplays получает TRUE.
Наконец, у меня есть блок Try / Except с assert, чтобы увидеть, если errorDisplays = FALSE. Если TRUE, выдается AssertionError и снимок экрана.
errorDisplays = False
if driver.find_element(By.XPATH, "/html/body/div[1]/div/div/div/button").is_displayed():
errorDisplays = True
else:
pass
try:
assert errorDisplays is False
except AssertionError:
screenshot_name = "FAIL" + "_" + test_case_ID + "_" + browser + "_" + env + "_" + time_stamp + ".png"
saved_screenshot_location = str(screenshot_directory / screenshot_name)
driver.get_screenshot_as_file(saved_screenshot_location)
raise
Кроме того, вот HTML-код для модального
<div class="modal-dialog "><div class="modal-content" uib-modal-transclude="">
<div class="modal-body text-center ng-scope">
<h4>An error has occurred. Please try again.</h4>
If the issue persists call XXX-XXX-XXXX for support.
<hr>
<button class="btn btn-danger btn-block" type="button" ng-click="$dismiss()">Close</button>
</div>
</div></div>
Когда выполняется скрипт и модальное сообщение об ошибке НЕ отображается, скрипт останавливается, и появляется сообщение «Нет такого элемента, невозможно найти элемент». Я бы хотел, чтобы скрипт продолжал работу, если модальное сообщение об ошибке не отображается.