解决Selenium打开浏览器自动退出的问题

解决selenium打开Chrome浏览器自动退出问题

  1. 问题

最近电脑换了新系统,在运行Selenium的时候遇到一个问题,当我执行完程序,浏览器自动关闭了,我在程序中也没有写driver.quit()方法。代码如下:

from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://wwww.baidu.com")

代码运行后,webdriver驱动chrome浏览器打开网页后,便自动退出了。但是系统升级前,运行代码并不会自动退出,除非手动写了退出方法。

  1. 别人的解决方法

网上很多资料写的是设置全局变量,即把打开浏览器的操作放在函数外部,函数执行完毕,浏览器就不会关闭,单这种方法并不管用。例如:

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,成功解决。

请添加图片描述

物联沃分享整理
物联沃-IOTWORD物联网 » 解决Selenium打开浏览器自动退出的问题

发表评论