Условие состояния - Попробуйте, кроме, иначе -
Я использую Selenium / Python для автоматизации некоторых задач по загрузке и загрузке файлов.
Есть ли способ заставить Selenium / Python распознавать, если страница загружена как 404? т.е. моя попытка "Попробуй" ниже.
Моя цель - заставить скрипт закрыть вкладку, если он загружается как ошибка 404, и зацикливаться, пока не будет найден загружаемый файл. Файл в формате PDF.
Я пытался использовать XPath для поиска определенного текста, например:
'Кроме того, при попытке использовать ErrorDocument для обработки запроса была обнаружена ошибка 404 Not Found.' - но я не уверен относительно правильного кодирования, необходимого. Я новичок в этом, так что спасибо за терпение.
Ниже находится нижняя часть скрипта, и он также находится в цикле - («иконка» - кнопка загрузки, которая отображается на странице для скачивания, но не на странице 404)
try:
Download = driver.find_element_by_id('icon')
if Download == driver.find_element_by_id('icon'):
raise Exception
except Exception:
pyautogui.time.sleep(2)
pyautogui.hotkey('ctrl','s')
pyautogui.time.sleep(2)
pyautogui.hotkey('enter')
pyautogui.time.sleep(2)
pyautogui.hotkey('ctrl','w')
pyautogui.click(771, 374, duration=0.55)
pyautogui.click(867, 276, duration=0.55)
else:
pyautogui.time.sleep(2)
pyautogui.hotkey('ctrl','w')
pyautogui.time.sleep(2)
pyautogui.doubleClick(79, 136, duration=0.55)
pyautogui.time.sleep(15)
pyautogui.click(642, 442, duration=0.55)
pyautogui.time.sleep(2)
pyautogui.hotkey('ctrl','s')
pyautogui.time.sleep(2)
pyautogui.hotkey('enter')
pyautogui.time.sleep(2)
pyautogui.hotkey('ctrl','w')
pyautogui.click(771, 374, duration=0.55)
pyautogui.click(867, 276, duration=0.55)
Приведенный выше код не закрывает веб-страницу 404, если она загружается. Скорее, сценарий сохраняет веб-страницу 404, а не пытается выполнить «остальную» часть сценария.
Спасибо за помощь! (Если я могу дать голосование, я буду.)