由于本人最终需要在内网安装运行selenium,一开始按照网上离线安装教程,下载selenium包,离线安装,失败,各种报错,似乎都要联网下载某些包。
最后解决办法:
1、内网电脑重装系统,连接外网,安装完成所有依赖包后再入内网,成功运行一天后,又报错。
Unable to obtain driver using Selenium Manager: Selenium Manager failed for: F:\ProgramData\anaconda3\lib\site-packages\selenium\webdriver\common\windows\selenium-manager.exe --browser chrome --output json.
error sending request for url (https://chromedriver.storage.googleapis.com/LATEST_RELEASE_109): error trying to connect: dns error: 不知道这样的主机。 (os error 11001)
Traceback (most recent call last):
File F:\ProgramData\anaconda3\lib\site-packages\spyder_kernels\py3compat.py:356 in compat_exec
exec(code, globals, locals)
File e:\2023\小程序\test\testweb.py:30
driver = webdriver.Chrome(options=options)
File F:\ProgramData\anaconda3\lib\site-packages\selenium\webdriver\chrome\webdriver.py:82 in __init__
service.path = DriverFinder.get_path(service, options)
File F:\ProgramData\anaconda3\lib\site-packages\selenium\webdriver\common\driver_finder.py:43 in get_path
raise err
File F:\ProgramData\anaconda3\lib\site-packages\selenium\webdriver\common\driver_finder.py:40 in get_path
path = shutil.which(service.path) or SeleniumManager().driver_location(options)
File F:\ProgramData\anaconda3\lib\site-packages\selenium\webdriver\common\selenium_manager.py:91 in driver_location
result = self.run(args)
File F:\ProgramData\anaconda3\lib\site-packages\selenium\webdriver\common\selenium_manager.py:112 in run
raise SeleniumManagerException(f"Selenium Manager failed for: {command}.\n{result}{stderr}")
SeleniumManagerException: Selenium Manager failed for: F:\ProgramData\anaconda3\lib\site-packages\selenium\webdriver\common\windows\selenium-manager.exe --browser chrome --output json.
error sending request for url (https://chromedriver.storage.googleapis.com/LATEST_RELEASE_109): error trying to connect: dns error: 不知道这样的主机。 (os error 11001)
看报错情况,似乎是在找浏览器驱动。
2、不能继续又重装系统,太麻烦。又找了一个外网笔记本安装了一个和内网电脑安装同样的系统,再在外网安装相同的环境和版本,再拷入内网。
1)win10安装anaconda 2023版本,安装完成后,pip list命令出来有330行依赖包信息
2)pip install selenium后,pip list命令出来有338行依赖包信息,所以离线安装selenium时,只安装这一个包还不够,对比发现增加了以下依赖包(不同anaconda版本,可能还不一样),
async-generator==1.10
exceptiongroup==1.1.1
h11==0.14.0
outcome==1.2.0
selenium==4.9.1
trio==0.22.0
trio-websocket==0.10.2
wsproto==1.2.0
离线安装时,这些对应的依赖包都得安装。
3)运行selenium,调用Chrome,Edge。一开始以为,只需要把外网的安装包覆盖内网安装包就可以了,但是最后发现,浏览器的驱动信息在第一次运行的时候需要联网下载,并且是有对应版本的,保存在c盘用户目录下。
内网浏览器的版本安装和这个版本一模一样后,再复制驱动到相应的位置,最后成功啦!
anaconda的虚拟环境也在C盘用户目录下。
以上只是我的个人经验,也留着给自己当个笔记。
版权归原作者 wuxiaoyurain 所有, 如有侵权,请联系我们删除。