环境:selenium 4.21.0、python 3.11
结论:代码中通过执行selenium-manager.exe的命令去获取或自动帮我们下载了浏览器驱动
在旧的版本中,都是直接指定驱动名称,但是新版本中找不到了。带着这样的疑问,去源码里面找一找
过程:
步骤1、webdriver.Chrome()
从driver = webdriver.Chrome()入口找到webDriver
========之前的版本,这个chrome的service里就有指定要找到驱动文件,但是新版本没有了。所以才有今天这篇。
步骤二、ChromiumDriver
上面这条路断了,只能往父类里找了,于是到ChromiumDriver里。这里出现了一个关键信息,原来它是能自己找driver的路径,接下去看看它怎么找的
步骤三:SeleniumManager
在DriverFinder里又发现了一个关键点,SeleniumManager。感觉越来越近了
步骤四、selenium-management.exe
这不就找到了吗,执行了个命令,去做这件事。又找到了个关键:selenium-management.exe。执行这命令会帮助我们在有webdriver的时候取到路径,没有的时候帮我们下载一个对应路径。
让我们来实验一下命令:
当我删除环境变量中python文件下的chromdriver.exe,它会帮我下载一个对应版本的浏览器驱动,并返回它的地址。
把下载好的驱动也删了,再次运行,又会重新帮我们下载一个。
其它:
当然,如果这种自动下载的方式如果给你带来了困扰,可以参考以下文章,通过指定service的方式解决。
解决selenium新版启动缓慢 (卡住) 的问题_selenium chrome速度太慢-CSDN博客
版权归原作者 LLLJing 所有, 如有侵权,请联系我们删除。