pycharm打开chrome自动退出解决方法 |
您所在的位置:网站首页 › 网站自动退出是什么原因 › pycharm打开chrome自动退出解决方法 |
问题描述:
用pycharm运行代码打开chrome浏览器后,浏览器自动退出。代码如下: from selenium import webdriver driver = webdriver.Chrome() driver.get('http://www.baidu.com') 运行环境:pycharm版本:2022.3 python版本:3.9.10 分析:并没有设置quit(),代码执行也没有报错,在网上搜索一番后可能的解释和解决方法如下: 1、代码执行结束后线程随主程序一起结束,内存被回收,浏览器自动关闭。(解释这问题属于正常现象,想要保留浏览器可以设置sleep()) 2、因为把driver = webdriver.Chrome()放在了函数内部,函数执行完毕后,程序内所有的步骤都结束了,这段程序的进程也就结束了,浏览器包含在内,所以才会自动退出,解决方法就是设置全局变量,即把打开浏览器的操作放在函数外部,函数执行完毕,浏览器也不会关闭。(我的代码没有函数,所以也不是这个问题) 3、webdriver要与浏览器的版本号匹配,不然浏览器就会闪退。(这个现象是浏览器闪退,并且代码执行会有报错,而且我的版本号也是匹配的,显然不是这个问题) 附上查看版本号代码如下: from selenium import webdriver driver = webdriver.Chrome() str1 = driver.capabilities['browserVersion'] #查看chrome版本 str2 = driver.capabilities['chrome']['chromedriverVersion'].split(' ')[0] #查看python下的chromedriver版本 print(str1) print(str2)运行结果: (只要大版本号一致就行) 顺便再附上chromedriver下载地址: http://chromedriver.storage.googleapis.com/index.html chromedriver.exe文件存放位置(以下路径只是参考,根据实际环境来): 1)、python安装目录:C:\Users\username\AppData\Local\Programs\Python\Python39 2)、chrome安装目录:C:\Program Files\Google\Chrome\Application(可以不放) 2023.4.7编辑更新:经测试,安装了selenium版本4.8.3的情况下,即使chromedriver.exe文件不放在python安装目录下,运行代码也不会报错,会自动在C:\Users\用户名\.cache\selenium\chromedriver\win32\目录下自动生成chromedriver.exe文件。这是老版本selenium没有的功能,大大方便了运行维护,不用手动更换文件了,现在会自动生成了。 解决方法:网上找了一圈后大致就是以上这3个观点,但是看其他人运行相同的代码,别人的chrome就不会自动退出,经过排查,最终确定,问题的原因竟是selenium的版本太高导致,我的selenium的版本是4.7.2,不会自动退出的版本是4.4.3。 卸载4.7.2,重新安装4.4.3,问题解决。 备注1:截止到发这篇文章时,selenium最高版本是4.7.2。 备注2:我挑了4.4.3发现解决了问题,所以也就没有再试其他的版本,也许其他的低版本也可以解决问题。 也许这个chrome自动退出的问题其实并不是个问题,代码成功运行结束,浏览器关闭,可能在selenium4.7.2版本上就是这样运行的,而低版本的selenium在代码运行完成之后就不会自动关闭浏览器,目前来说我比较喜欢后者,所以选择了安装4.4.3。 希望可以帮助到遇到和我一样问题的小伙伴,感谢阅读! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |