pycharm打開chrome自動(dòng)退出錯(cuò)誤的解決方法
問題描述:
用pycharm運(yùn)行代碼打開chrome瀏覽器后,瀏覽器自動(dòng)退出。代碼如下:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')運(yùn)行環(huán)境:
pycharm版本:2022.3
python版本:3.9.10
分析:
并沒有設(shè)置quit(),代碼執(zhí)行也沒有報(bào)錯(cuò),在網(wǎng)上搜索一番后可能的解釋和解決方法如下:
1、代碼執(zhí)行結(jié)束后線程隨主程序一起結(jié)束,內(nèi)存被回收,瀏覽器自動(dòng)關(guān)閉。(解釋這問題屬于正?,F(xiàn)象,想要保留瀏覽器可以設(shè)置sleep())
2、因?yàn)榘裠river = webdriver.Chrome()放在了函數(shù)內(nèi)部,函數(shù)執(zhí)行完畢后,程序內(nèi)所有的步驟都結(jié)束了,這段程序的進(jìn)程也就結(jié)束了,瀏覽器包含在內(nèi),所以才會(huì)自動(dòng)退出,解決方法就是設(shè)置全局變量,即把打開瀏覽器的操作放在函數(shù)外部,函數(shù)執(zhí)行完畢,瀏覽器也不會(huì)關(guān)閉。(我的代碼沒有函數(shù),所以也不是這個(gè)問題)
3、webdriver要與瀏覽器的版本號(hào)匹配,不然瀏覽器就會(huì)閃退。(這個(gè)現(xiàn)象是瀏覽器閃退,并且代碼執(zhí)行會(huì)有報(bào)錯(cuò),而且我的版本號(hào)也是匹配的,顯然不是這個(gè)問題)
附上查看版本號(hào)代碼如下:
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)運(yùn)行結(jié)果:
(只要大版本號(hào)一致就行)

順便再附上chromedriver下載地址:
http://chromedriver.storage.googleapis.com/index.html
chromedriver.exe文件存放位置(以下路徑只是參考,根據(jù)實(shí)際環(huán)境來):
1)、python安裝目錄:C:\Users\username\AppData\Local\Programs\Python\Python39
2)、chrome安裝目錄:C:\Program Files\Google\Chrome\Application(可以不放)
2023.4.7編輯更新:經(jīng)測(cè)試,安裝了selenium版本4.8.3的情況下,即使chromedriver.exe文件不放在python安裝目錄下,運(yùn)行代碼也不會(huì)報(bào)錯(cuò),會(huì)自動(dòng)在C:\Users\用戶名\.cache\selenium\chromedriver\win32\目錄下自動(dòng)生成chromedriver.exe文件。這是老版本selenium沒有的功能,大大方便了運(yùn)行維護(hù),不用手動(dòng)更換文件了,現(xiàn)在會(huì)自動(dòng)生成了。
解決方法:
網(wǎng)上找了一圈后大致就是以上這3個(gè)觀點(diǎn),但是看其他人運(yùn)行相同的代碼,別人的chrome就不會(huì)自動(dòng)退出,經(jīng)過排查,最終確定,問題的原因竟是selenium的版本太高導(dǎo)致,我的selenium的版本是4.7.2,不會(huì)自動(dòng)退出的版本是4.4.3。
卸載4.7.2,重新安裝4.4.3,問題解決。
備注1:截止到發(fā)這篇文章時(shí),selenium最高版本是4.7.2。
備注2:我挑了4.4.3發(fā)現(xiàn)解決了問題,所以也就沒有再試其他的版本,也許其他的低版本也可以解決問題。

雜談:
也許這個(gè)chrome自動(dòng)退出的問題其實(shí)并不是個(gè)問題,代碼成功運(yùn)行結(jié)束,瀏覽器關(guān)閉,可能在selenium4.7.2版本上就是這樣運(yùn)行的,而低版本的selenium在代碼運(yùn)行完成之后就不會(huì)自動(dòng)關(guān)閉瀏覽器,目前來說我比較喜歡后者,所以選擇了安裝4.4.3。
總結(jié)
到此這篇關(guān)于pycharm打開chrome自動(dòng)退出錯(cuò)誤的解決方法的文章就介紹到這了,更多相關(guān)pycharm打開chrome自動(dòng)退出內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python數(shù)據(jù)庫格式化輸出文檔的思路與方法
這篇文章主要給大家介紹了關(guān)于Python數(shù)據(jù)庫格式化輸出文檔的思路與方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
Python 26進(jìn)制計(jì)算實(shí)現(xiàn)方法
這篇文章主要介紹了Python 26進(jìn)制計(jì)算實(shí)現(xiàn)方法,涉及Python字符串與數(shù)值計(jì)算的相關(guān)操作技巧,需要的朋友可以參考下2015-05-05
Python使用PyPDF2實(shí)現(xiàn)快速提取PDF文本
在日常辦公和數(shù)據(jù)處理中,PDF文件幾乎無處不在,本文將帶你從零開始,用PyPDF2快速提取PDF文本,涵蓋安裝配置、核心操作、元數(shù)據(jù)獲取、中文亂碼避坑等全流程,希望對(duì)大家有所幫助2026-04-04
python實(shí)現(xiàn)simhash算法實(shí)例
這篇文章主要介紹了python實(shí)現(xiàn)simhash算法實(shí)例,需要的朋友可以參考下2014-04-04
Python實(shí)現(xiàn)下載監(jiān)控工具類:自動(dòng)檢測(cè)并移動(dòng)下載文件
在日常開發(fā)和自動(dòng)化任務(wù)中,經(jīng)常需要處理文件下載的場(chǎng)景,本文介紹一個(gè)實(shí)用的Python下載監(jiān)控工具類,能夠自動(dòng)檢測(cè)新下載的文件并將其移動(dòng)到指定位置,感興趣的小伙伴可以了解一下2025-06-06
python學(xué)習(xí)--使用QQ郵箱發(fā)送郵件代碼實(shí)例
這篇文章主要介紹了python使用QQ郵箱發(fā)送郵件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
基于Python實(shí)現(xiàn)一個(gè)Word表格合并單元格工具
這篇文章主要介紹了如何基于Python實(shí)現(xiàn)一個(gè)Word表格合并單元格工具,用于處理Word文檔中的表格,主要功能是合并指定列中內(nèi)容相同的單元格,并支持多種格式設(shè)置選項(xiàng),需要的朋友可以參考下2025-11-11

