解决selenium打开Chrome浏览器自动退出问题
- 问题
最近电脑换了新系统,在运行Selenium的时候遇到一个问题,当我执行完程序,浏览器自动关闭了,我在程序中也没有写driver.quit()方法。代码如下:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://wwww.baidu.com")
代码运行后,webdriver驱动chrome浏览器打开网页后,便自动退出了。但是系统升级前,运行代码并不会自动退出,除非手动写了退出方法。
- 别人的解决方法
网上很多资料写的是设置全局变量,即把打开浏览器的操作放在函数外部,函数执行完毕,浏览器就不会关闭,单这种方法并不管用。例如:
from selenium import webdriver
# 打开浏览器驱动
driver = webdriver.Chrome(r'd:\chromedriver.exe')
driver.implicitly_wait(10)
class ServiceConfig():
# 定义prepareWork函数,做准备工作
def prepareWork(self,url):
driver.get(url)
if __name__ == '__main__':
url = 'https://www.baidu.com'
sc = ServiceConfig()
sc.prepareWork(url)
3.最终解决方案
经过排查发现,之前电脑的selenium版本是4.1.1,运行不会自动退出;升级到selenium最新版本4.7.2后,会出现这个问题。
于是将selenium版本回退到4.1.1,成功解决。
文章出处登录后可见!
已经登录?立即刷新