首页 > 解决方案 > 检查使用 Selenium 打开的浏览器是否仍在运行(Python)

问题描述

我想检查用 Selenium 打开的浏览器是否仍然打开。我需要这个检查来关闭一个程序。如果浏览器没有打开,那么 GUI 应该在没有消息 (tk.messagebox) 的情况下被销毁。但是如果浏览器是打开的,那么该功能一激活就会出现消息。
这是功能:

def close():
    msg_box = tk.messagebox.askquestion('Exit Application', 'Are you sure you want to exit the application?',
                                        icon='warning')
    if msg_box == 'yes':
        root.destroy()
        try:
            web.close()
        except NameError:
            sys.exit(1)
        except InvalidSessionIdException:
            sys.exit(1)
        except WebDriverException:
            sys.exit(1)
    else:
        return

标签: pythonseleniumtkinterwebdriverexit

解决方案


我认为没有用于检查浏览器状态的直接 api。但是您可以使用解决方法

def isBrowserAlive():
   try:
      driver.current_url
      # or driver.title
      return True
   except:
      return False

推荐阅读