同福

Python使用selenium调用远程chromedriver调试程序的技巧【20211130】

介绍

介绍

我们在使用seleniuim去驱动Chrome浏览器的时候,需要针对电脑上面的Chrome浏览器的版本选择对应的chromedriver驱动,这样selenium才能正常驱动Chrome浏览器实现被我们的程序自动操作的目的。

但是我们的电脑上面的Chrome会不断升级的,这样一来就要配合Chrome浏览器不断地升级chromedriver,这个肯定不是我们想要的结果,怎么办呢?

其实selenium除了可以驱动电脑上面的Chrome浏览器之外,还可以驱动远程电脑上面的Chrome浏览器,这样就给我们提供了一个选择 ,我们可以弄一个电脑,里面只安装一个Chrome浏览器,然后使用selenium远程来驱动这个电脑上面的Chrome浏览器,最后我们只要保证这个电脑的Chrome浏览器不升级就可以了。

再拓展一下,我们可以弄很多台电脑,里面都安装上Chrome浏览器,这样我们可以通过selenium同时驱动这些电脑上面的Chrome浏览器,实现批量执行任务,这样才有生产的样子!

Windows

首先,我们在熟悉的Windows上面小试身手一下看看!

启动chromedriver

第一步,福哥要先通过chromedriver启动一个Chrome浏览器的服务,这个通过chromedriver驱动就可以。

chromedriver.exe --port=9515 --allowed-ips=127.0.0.1

home/topic/2021/1201/14/b7c830465bb1c0adca5d97f0f32dba47.png

更改selenium

第二布,福哥把初始化Chrome的代码改成从远程驱动的方式,默认是http的协议的。

把Chrome方法换成Remote方法,把chromedriver的地址写上去,其他不变,就可以了。

# set opts
# chrome = webdriver.Chrome(options=opts)
chrome = webdriver.Remote("http://127.0.0.1:9515", options=opts)

测试

成功了!home/topic/2021/1201/14/e9052dcbe44c2b7bc6dc48a62f3f0464.png

总结

今天福哥带着童鞋们学习了如何使用selenium调用远程的chromedriver调试程序的技巧,通过将Python程序和chromedriver分离的设计,我们可以一套程序操作多台电脑做任务的目的。

下一课,福哥将带着大家使用Linux配置多个chromedriver环境,并且用selenium对它们发布命令,让多个chromedriver同时执行任务,敬请期待~~