在没有使用close或者quit的情况下,Selenium自动关闭浏览器就是因为Selenium运行结束了。分两种情况:
1.程序运行完了,所以带着浏览器关闭了。
在命令行运行时,或在打包好的程序里运行时会有这种情况;在使用Pycharm之类IDE运行代码的时候通常不会造成浏览器关闭,但也有可能在某些IDE里面出现。网上有建议使用“option.add_experimental_option(“detach“, True)”。但是经测试发现这句效果不佳(其实在我这里基本没有起作用)。当然对于这种情况我们可以sleep,但是更建议把浏览器动作放在一个函数里,从而和打开浏览器这个动作分离:
s = Service(r"C:xxxxxxxchromedriver.exe")
WD = webdriver.Chrome(service = s)
def web_actions():
WD.maximize_window()
WD.get("https://xxxxxxx")
.....
web_actions()
2. 程序中断退出,所以带着浏览器关闭了。
程序运行出错,或者用户中断了运行,造成程序中断,带着浏览器一起关闭。这种情况在使用IDE运行代码的时候一般不会造成浏览器关闭。但是在命令行运行时,或在打包好的程序里会造成浏览器关闭。这种情况因为浏览器动作已经被放进函数,所以只需要做个错误处理即可,比如:
try:
web_actions()
except:
time.sleep(1)
3.总结:
s = Service(r"C:xxxxxxxchromedriver.exe")
WD = webdriver.Chrome(service = s)
def web_actions():
WD.maximize_window()
WD.get("https://xxxxxxx")
.....
try:
web_actions()
except:
time.sleep(1)
#这里用来保证命令行运行的情况下,Python主程序不结束,否则会带着Selenium彻底退出,一样会关闭浏览器
input('Selenium running done.')
原文地址:https://blog.csdn.net/alarmise/article/details/129256472
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_39176.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。