Как проходить по ссылкам в selenium без прерывания?

Здравствуйте!
Делаю парсинг сайта объявлений. Сначала собираю все ссылки на объявления с главной страницы, потом прохожусь по этим ссылкам в цикле, чтобы открывать каждую страницу и брать оттуда номер телефона. Но у некоторых объявлений нет номеров и на таком объявлении выдает ошибку и работа прекращается. Как сделать, чтобы цикл пропускал такие объявления?
for postLink in allLinksData.values():
    driver.get(postLink["link"])
    driver.find_element(By.XPATH, "//button[@data-testid='show-phone']").click()
    time.sleep(5)

Вызываемая ошибка:
Traceback (most recent call last):
File "E:\OSPanel\domains\mytests.local\olxparsetests_stealth\ads_parse.py", line 69, in
driver.find_element(By.XPATH, "//button[@data-testid='show-phone']").click()
File "E:\OSPanel\domains\mytests.local\olxparsetests_stealth\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 855, in
find_element
return self.execute(Command.FIND_ELEMENT, {
File "E:\OSPanel\domains\mytests.local\olxparsetests_stealth\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 428, in
execute
self.error_handler.check_response(response)
File "E:\OSPanel\domains\mytests.local\olxparsetests_stealth\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 243,
in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//butto
n[@data-testid='show-phone']"}
(Session info: chrome=105.0.5195.127)
Stacktrace:
Backtrace:
  • Вопрос задан
  • 122 просмотра
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
1. Определить, к какому классу принадлежит выбрасываемое исключение
2. Поймать это исключение блоком try-except
Ответ написан
Ваш ответ на вопрос

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

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