selenium、chromedriver打开chrome浏览器闪退(版本号一致、非selenium版本原因)
我上网查了这个闪退的原因,有很多帖子包括AI的解决方法是:①先检查浏览器和驱动的版本是否一致,②selenium用旧版本试一下,③chromedriver的路径没有设置在环境变量的PATH里,④还有一个是将driver设置为全局变量。
·
1.查找原因
我上网查了这个闪退的原因,有很多帖子包括AI的解决方法是:①先检查浏览器和驱动的版本是否一致,②selenium用旧版本试一下,③chromedriver的路径没有设置在环境变量的PATH里,④还有一个是将driver设置为全局变量。
from time import sleep
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
def main():
global driver
chromedriver_path = r"C:\Users\opq\AppData\Local\Google\Chrome\Application\chromedriver.exe"
service = Service(executable_path=chromedriver_path)
driver = webdriver.Chrome(service=service)
page = driver.get('https://www.baidu.com/')
sleep(10)
if __name__ == "__main__":
main()
2.解决问题
我检查上述问题。①谷歌浏览器和谷歌驱动的版本都一致。
查看谷歌浏览器版本,浏览器输入:
chrome://version/
![]()
查看驱动版本,win+r,输入cmd打开命令终端,输入以下命令查看:
chromedriver --version

由于能下载到的chromdriver最新的就是134.0.6998.88,所以没办法。
②selenium下载低版本后不适配,我就下回了高版本
③驱动的地址已经配置到环境变量里,如果没有配置,也已经在代码中指定了chromedriver.exe的位置,所以不影响。
④将driver设置为全局变量后还是出现闪退的问题,所以我试着加入了sleep,让其睡眠10秒,之后驱动打开的百度页面就停留了10s左右就关闭了。

综上所述,我认为原因就在main函数里,函数执行结束就自动关闭网页了,但是我代码能力不好,不太懂python代码的那些原理,所以就不知道为什么设置为全局变量之后还是会在函数结束后回收,导致页面关闭。发帖记录一下,因为这个问题耗费了挺长时间的。
更多推荐


所有评论(0)