赞
踩
背景:之前由于Chrome浏览器自动升级后,导致驱动与浏览器不匹配,自己也不知道问题出在哪儿,花费了我大量时间去排查,所以接下来记录一些。
使用的是selenium v 4.1.0版本
下载的Chromedriver要与浏览器的版本一样。
放置的位置和Python执行的文件位置要一样,这样才能够使用最新的驱动。
注意:在selenium v4.4.0以上的版本,可以不用把浏览器的驱动放在跟Python执行程序一起。
但是需要用一段代码去说明,调用函数。
那么就要在代码中设置浏览器驱动的地址
# 加载谷歌浏览器驱动
driver = webdriver.Chrome(r'...\chromedriver.exe') # 这个里面直接传入驱动的路径
在解决完第一个问题后,我们会发现在执行代码后selenium打开完浏览器后会直接闪退。这确实是正常现象,因为你安装的是最新的selenium4版本,他对浏览器执行完操作后会自动关闭浏览器
- from selenium.webdriver.chrome.service import Service
- from selenium import webdriver
- import time
-
- # url地址
- url = 'http://www.baidu.com'
-
- # 定义chrome驱动去地址
- path = Service('chromedriver.exe')
-
- # 创建浏览器操作对象
- browser = webdriver.Chrome(service=path)
-
- # 这里我们给哥time等待,假设我们在这段时间内进行的操作
- time.sleep(3)
-
- # 获取前端页面
- browser.get(url)
-
-
- #输出前端代码中的title字段内容
- print(browser.title)
这时就看起来正常点了
其实遇到上面的报错只是看着不舒服,代码还是能跑的。
网上其他博主的解释:
1、经过排查发现,之前电脑的selenium版本是4.1.1,运行不会自动退出;升级到selenium最新版本4.7.2后,会出现这个问题。
于是将selenium版本回退到4.1.1,成功解决。
2、浏览器与浏览器的驱动版本不匹配。
有个解决方式不知道行不行(先记录):
当使用Selenium WebDriver 加载页面时出现浏览器闪退时,如何解决? - 小智博客
参考优秀的博主:
解决selenium打开浏览器自动退出_selenium打开浏览器闪退_AutomationT的博客-CSDN博客
后续继续补充其他
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。