首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ConnectionError: HTTPSConnectionPool(host = 'api.github.com',port=443):最大重试超过GeckoDriverManager和WebdriverManager for Python

ConnectionError: HTTPSConnectionPool(host = 'api.github.com',port=443):最大重试超过GeckoDriverManager和WebdriverManager for Python
EN

Stack Overflow用户
提问于 2022-02-13 21:48:47
回答 1查看 1.9K关注 0票数 0

我用Selenium、Pandas、bf4和GeckoDriver制作了一个网络抓取脚本。

代码语言:javascript
运行
复制
import requests
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from webdriver_manager.firefox import GeckoDriverManager

url = "https://example/url/target"
    
option = Option()
option.headlers = True
driver = webdriver.Firefox(executable_path=r'C:\Users\Public\geckodriver.exe')
driver.get(url)

使用此代码,脚本工作100%,但由于我需要它是一个可移植的应用程序(传输到其他计算机),我不希望用户必须手动指定Geckodriver路径,更不用说要下载它了。

Geckodriver有一个自动安装程序,但是在我试图制造的所有方法中,我得到了一个错误,在论坛上搜索我找到了这个选项(和错误)。

代码语言:javascript
运行
复制
url = "https://example/url/target"

driver = webdriver.Firefox(executable_path=rGeckoDriverManager().install())

driver.get("https:www.python.org")
driver.get(url)

结果:

代码语言:javascript
运行
复制
ConnectionError: HTTPSConnectionPool(host = 'api.github.com', port=443): Max retries exceeded with url: /repos/mozilla/geckodriver/releases/latest (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000025186487F98>: Failed to stabilize a new connection: [Errno 11001 getaddriinfo failed',))

我还尝试了如下:https://pypi.org/project/geckodriver-autoinstaller/#description

代码语言:javascript
运行
复制
import geckodriver_autoinstaller
geckodriver_autoinstaller.install()

driver = webdriver.Firefox()
driver.get("http://www.python.org")
assert "Python" in driver.title

结果:

代码语言:javascript
运行
复制
<urlopen error [Errno 11001] getaddrinfo failed>

所有这些选项我也用socket.getddrinfo('localhost', 8080)os.environ['GH_TOKEN'] = 'exampletoken'中的Git个人令牌进行了测试。

有人知道为什么我不能自动安装驱动程序吗?

W10 64位,火狐最新版本,Libs和anaconda最新版本,Python = 3.6,因特网与虚拟专用网(工作)

EN

回答 1

Stack Overflow用户

发布于 2022-02-13 21:57:20

不过,可能是一个错误,而不是rGeckoDriverManager(),您应该在行中使用GeckoDriverManager()

代码语言:javascript
运行
复制
driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())

实际上,您的代码块是:

代码语言:javascript
运行
复制
from selenium import webdriver
from webdriver_manager.firefox import GeckoDriverManager

driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())
driver.get("https://www.google.com")

控制台输出:

代码语言:javascript
运行
复制
====== WebDriver manager ======
Current firefox version is 97.0
Get LATEST geckodriver version for 97.0 firefox
Driver [C:\Users\debanjan.bhattacharj\.wdm\drivers\geckodriver\win64\v0.30.0\geckodriver.exe] found in cache
C:\Users\debanjan.bhattacharj\Desktop\Python Programs\Selenium3-GeckoDriverManager.py:8: DeprecationWarning: executable_path has been deprecated, please pass in a Service object
  driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())

PS:使用selenium4 已经被废弃了,您就有传入服务对象了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71105142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档