所以我目前正在开发一个 python 抓取器,以在 python 中使用 selenium 收集网站信息。我遇到的问题是,如果我前往一个不活跃的页面,我会收到错误消息: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:\Users\STE\AppData\Local\Programs\Python\Python39\selenium email\selenium test.py", line 106, in <module>
driver.get('%s' %url)
File "C:\Users\STE\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\selenium\webdriver\remote\webdriver.py", line 333, in get
self.execute(Command.GET, {'url': url})
File "C:\Users\STE\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\STE\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\selenium\webdriver\remote\errorhandler.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)
我已经搜索了之前的问题,但似乎无法找到解决方案。
任何帮助将不胜感激:)
最佳答案
如果您想捕获错误,您必须将 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")
关于python - selenium python 向下翻页 - 未知错误:net::ERR_NAME_NOT_RESOLVED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65372252/