Python Selenium Detect when the browser is closed(当浏览器关闭时,Python Selple会检测到)
本文介绍了当浏览器关闭时,Python Selple会检测到的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
现在,我将其用作检测用户何时关闭浏览器的一种方法:
while True:
try:
# do stuff
except WebDriverException:
print 'User closed the browser'
exit()
但我发现这是一个非常不可靠和非常糟糕的解决方案,因为WebDriverException
捕获了很多异常(如果不是所有的话),而且大多数都不是因为用户关闭了浏览器。
我的问题是:如何检测用户何时关闭浏览器?
推荐答案
我建议使用:
>>> driver.get_log('driver')
[{'level': 'WARNING', 'message': 'Unable to evaluate script: disconnected: not connected to DevTools
', 'timestamp': 1535095164185}]
因为每当用户关闭浏览器窗口时,驱动程序都会记录此消息,而这似乎是最典型的解决方案。
所以您可以这样做:
DISCONNECTED_MSG = 'Unable to evaluate script: disconnected: not connected to DevTools
'
while True:
if driver.get_log('driver')[-1]['message'] == DISCONNECTED_MSG:
print 'Browser window closed by user'
time.sleep(1)
如果您感兴趣,可以找到文档here。
我使用的是ChromeDriver 2.41和Chrome 68。
这篇关于当浏览器关闭时,Python Selple会检测到的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:当浏览器关闭时,Python Selple会检测到
基础教程推荐
猜你喜欢
- 用于分类数据的跳跃记号标签 2022-01-01
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- 筛选NumPy数组 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01