python与selenium使用chrome浏览器 在函数内调用该函数,执行完成后浏览器会自动关闭

1.使用线性脚本执行没有任何问题
2.将同样的代码写在方法内,调用该方法,程序执行完成后浏览器会自动关闭
from selenium import webdriver

dr = webdriver.Chrome()
dr.get("https://www.baidu.com/")
dr.find_element_by_id('kw').click()
dr.find_element_by_id('kw').clear()
dr.find_element_by_id('kw').send_keys('刘德华')
dr.find_element_by_id('su').click()
def get():
    dr = webdriver.Chrome()
    dr.get("https://www.baidu.com/")
    dr.find_element_by_id('kw').click()
    dr.find_element_by_id('kw').clear()
    dr.find_element_by_id('kw').send_keys('刘德华')
    dr.find_element_by_id('su').click()

get()

Chrome版本:70.0.3538.67
对应webdriver驱动版本也是70.0.3538.67

2个回答

在最后加延时就可以了 time.sleep(10)

taoxinbo
taoxinbo 回复I_love_Coding: 问下大神 这个启动浏览器的驱动函数 必须放到封装的类里 也就是在函数里 怎么避免呢
12 个月之前 回复
lijing4358
lijing4358 回复I_love_Coding: 是的,这个朋友说的是对的,可以
大约一年之前 回复
I_love_Coding
I_love_Coding 回复I am...: 看我回复
一年多之前 回复
I_love_Coding
I_love_Coding 回复qq_44098268: 看我回复
一年多之前 回复
I_love_Coding
I_love_Coding 回复jizhan1989: 设置全局driver = '' ,在函数里global driver driver= webdriver.Chrome(),没问题的
一年多之前 回复
I_love_Coding
I_love_Coding 回复lyhsdy: 我设置了driver为全局,是没问题的
一年多之前 回复
I_love_Coding
I_love_Coding 问题解决了吗?
一年多之前 回复
weixin_39416561
lyhsdy 回复jizhan1989: dr = webdriver.Chrome()不要放在函数里面就可以了
一年多之前 回复
jizhan1989
jizhan1989 回复lyhsdy: 这个问题最后解决了吗?
一年多之前 回复
jizhan1989
jizhan1989 回复qq_44098268: 这个最后解决了吗?
一年多之前 回复
qq_44098268
qq_44098268 逼我去用FIREFOX吗,好烦呀,能不能不要自动退出
一年多之前 回复
qq_44098268
qq_44098268 我也这样,不知道怎么搞,有大佬么
一年多之前 回复
weixin_39416561
lyhsdy 都这样,设置项也没有
一年多之前 回复
weixin_43976338
I am... sleep几秒,然后过几秒浏览器还是会自动关闭,是所有人谷歌浏览器都会这样子吗?用firefox就不会 我想知道原因是什么!
一年多之前 回复

我认为答案在问题中,因为是在函数内执行的浏览器操作,在函数执行完毕之后,程序内所有的步骤都结束了,关于这段程序的进程也就结束了,浏览器包含在内。请指正!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问