解决python运行selenium程序执行完后,Chrome浏览器自动关闭的问题

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

service = Service("chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.get("http:www.baidu.com")

在运行这个代码时,chrome浏览器一打开就关闭了,网上看了不少解决方案

第一种解决方案:是由于selenium版本太高引起的,降低selenium版本即可解决

查看当前selenium版本号

pip show selenium

 卸载selenium

pip uninstall selenium

 降低到较老的版本

pip install selenium==4.1.1

第二种解决方案:在函数内执行的浏览器操作,在函数执行完毕之后,程序内所有的步骤都结束了,关于这段程序的进程也就结束了,浏览器包含在内;如果将浏览器全局后,打开浏览器不在函数内部,函数里面的程序执行完是不会关闭浏览器的。

方法一)设置option.add_experimental_option("detach", True)不自动关闭浏览器

from selenium import webdriver

def run_webdriver():
    options = webdriver.ChromeOptions()
    options.add_experimental_option('detach', True)  #不自动关闭浏览器
    options.add_argument('--start-maximized')#浏览器窗口最大化
    driver=webdriver.Chrome(options=options)
    driver.get('https://www.baidu.com')

if __name__ == '__main__':
    run_webdriver()

方法二)设置全局driver = '' ,在函数里global driver driver= webdriver.Chrome(),也是可以的,不会关闭

from selenium import webdriver
driver=''
def run_webdriver():
    global driver
    options = webdriver.ChromeOptions()
    options.add_argument('--start-maximized')#浏览器窗口最大化
    driver=webdriver.Chrome(options=options)
    driver.get('https://www.baidu.com')

if __name__ == '__main__':
    run_webdriver()

方法三)同方法二,设置全局变量,即把打开浏览器的操作放在函数外部,函数执行完毕,浏览器就不会关闭

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('--start-maximized')  # 浏览器窗口最大化
driver = webdriver.Chrome(options=options)
def run_webdriver(url):
    driver.get(url)

if __name__ == '__main__':
    url='https://www.baidu.com'
    run_webdriver(url)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值