selenium离线安装,内网运行

由于本人最终需要在内网安装运行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盘用户目录下。

selenium离线安装,内网运行_第1张图片

内网浏览器的版本安装和这个版本一模一样后,再复制驱动到相应的位置,最后成功啦!

anaconda的虚拟环境也在C盘用户目录下。

以上只是我的个人经验,也留着给自己当个笔记。

你可能感兴趣的:(selenium,测试工具)