#python #selenium #google-chrome #selenium-webdriver
#python #селен #google-chrome #selenium-webdriver
Вопрос:
Итак, в настоящее время я работаю над скребком python для сбора информации о веб-сайте с помощью selenium на python. Проблема, с которой я сталкиваюсь, заключается в том, что если я перехожу на страницу, которая не работает, я получаю сообщение об ошибке: unknown error: net::ERR_NAME_NOT_RESOLVED
Я давно не использовал python, поэтому мои знания не самые лучшие.
Вот мой код
driver = webdriver.Chrome(ChromeDriverManager().install())
try:
driver.get('%s' %link)
except ERR_NAME_NOT_RESOLVED:
print ("page down")
пример веб-сайта: http://www.whitefoxcatering.co.uk
ошибка
Traceback (most recent call last):
File "C:UsersSTEAppDataLocalProgramsPythonPython39selenium emailselenium test.py", line 106, in <module>
driver.get('%s' %url)
File "C:UsersSTEAppDataLocalPackagesPythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0LocalCachelocal-packagesPython38site-packagesseleniumwebdriverremotewebdriver.py", line 333, in get
self.execute(Command.GET, {'url': url})
File "C:UsersSTEAppDataLocalPackagesPythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0LocalCachelocal-packagesPython38site-packagesseleniumwebdriverremotewebdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:UsersSTEAppDataLocalPackagesPythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0LocalCachelocal-packagesPython38site-packagesseleniumwebdriverremoteerrorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: net::ERR_NAME_NOT_RESOLVED
(Session info: chrome=87.0.4280.88)
Я просмотрел предыдущие вопросы и, похоже, не могу найти решение этой проблемы.
Любая помощь была бы очень признательна 🙂
Ответ №1:
Если вы хотите перехватить ошибку, вам нужно изменить except
ее на то, что selenium создает для вас. В этом случае: selenium.common.exceptions.WebDriverException
.
Итак, сначала импортируйте его:
from selenium.common.exceptions import WebDriverException
Затем вы можете поймать:
try:
driver.get('http://www.whitefoxcatering.co.uk')
except WebDriverException:
print("page down")