@Bjornie
Изучаю Python

Как ловить ошибку сервера при парсинге?

Написал парсер python+selenium, все работает как надо, бегает по ссылкам, собирает всю инфу (с открытым браузером).

Иногда, по вине сервера, парсер вылетает с ошибкой.
Сервер отвечает 502 (Bad gateway).
Парсер вылетает не найден нужный мне xpath (естественно, т.к. загрузилась непредвиденная страница)

Вопрос: как переписать скрипт, чтобы при возникновении такой ошибки парсер не вылетал, а делал еще одну попытку (например обновление страницы помогает), возможно ли это?
  • Вопрос задан
  • 445 просмотров
Пригласить эксперта
Ответы на вопрос 2
@12ss
1. Можешь ссылки открывать в новых вкладках. Сделай несколько попыток открыть ссылку в новой вкладке с проверкой, нет ли там ошибки. Примерно так:
main_window = driver.current_window_handle
#open the link in a new tab
clickable_element.send_keys(Keys.CONTROL + Keys.RETURN)
#switch to that tab
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.TAB)
driver.switch_to_window(main_window)
#close the tab
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 'w')
driver.switch_to_window(main_window)

2. Можешь открыть второе окно браузера, я имею ввиду new instance, и работать с ними параллельно. Во втором окне открывать все ссылки.
Ответ написан
@GeneD88
QA
try:
    #code
except:
    driver.refresh()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы