下面的浏览器驱动将以Firefox火狐浏览器为示例。
一 直接管理 (Direct Handler)
使用多个函数直接处理浏览器驱动driver的生命周期管理,包括生成新对象、关闭和退出。
"""
Author: MR.N
Created: 2020/11/18 01:50 PM Wed.
Description:
Manage the life cycle of webdriver directly with only several functions.
"""
from selenium import webdriver
def run(self):
if self.driver:
# Do some jobs
...
else:
print('Driver not found.')
# Load the browser driver
def loaddriver(self):
# Attention here:
self.driver=webdriver.Firefox()
# Reload the browser driver
def reloaddriver(self):
self.closedriver()
time.sleep(1)
self.loaddriver()
# Close the driver
def closedriver(self):
if self.driver:
self.driver.quit()
self.driver=None
二 容器管理 (Container Management)
将driver放入一个容器 (Container) 进行管理,由容器主动监管driver的生命周期,driver的生命周期伴随容器。容器可以主动关闭,或者被动由GC回收机制控制。
<