繁体   English   中英

Python Selenium:空闲时退出浏览器

[英]Python Selenium: Quit Browser if Idle

我正在尝试通过以下方式列出无头 Chrome 网络驱动程序:

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--disable-gpu')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--log-level=3')
browsers = {}

def add_browser(browser_id):
     browsers[browser_id] = webdriver.Chrome(executable_path=chromedriver, options=options)
     browsers[browser_id].get(URL)

但是,我想关闭活动和闲置时间过长的浏览器。 我该如何实施?

如果有帮助 - 这将用于 Flask 应用程序。

from datetime import datetime

def add_browser(browser_id):
     browsers[browser_id] = {
          browser: webdriver.Chrome(executable_path=chromedriver, options=options),
          last_active: datetime.now()
     }
     browsers[browser_id][browser].get(URL)
     // do some stuff... scrape links? navigate through pages? input text?

然后在//do some stuff部分编写脚本时,您现在可以执行以下两项操作之一:

// "check in" to confirm the session is still active
browsers[browser_id][last_active] = datetime.now()
// during a loop that you are worried about getting stuck in due to the browser being idle
idle_time = datetime.now() - browsers[browser_id][last_active]
if idle_time.seconds > maximum_idle_time:
     browsers[browser_id][browser].quit()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM