# _*_ encoding:utf-8 _*_
from selenium import webdriver
# 饿汉式单例模式在类加载时就初始化实例,这种方式简单且线程安全,但可能会占用一些资源。
class WD:
###===方式1
# # 创建option对象
# _options = webdriver.ChromeOptions()
# # 添加detach为True,可以防止打开浏览器后自动关闭
# _options.add_experimental_option("detach", True)
# # 在类加载时初始化 WebDriver 实例, 创建webdriver对象并添加options
# _instance = webdriver.Chrome(_options)
# # 设置浏览器窗口最大化
# _instance.maximize_window()
###===方式2
_instance = None
_options = None
# def __init__(self):
# if not WD._instance:
# WD._options = webdriver.ChromeOptions()
# WD._options.add_experimental_option(name='detach', value=True)
# WD._instance = webdriver.Chrome(WD._options)
# WD._instance.maximize_window()
###===方式3, 推荐
@staticmethod
def get_driver():
if not WD._instance:
WD._options = webdriver.ChromeOptions()
WD._options.add_experimental_option(name='detach', value=True)
WD._instance = webdriver.Chrome(WD._options)
WD._instance.maximize_window()
return WD._instance
@staticmethod
def quit_driver():
WD._instance.quit()
if __name__ == '__main__':
web_list = [
'https://baidu.com',
'https://126.com'
]
for i in range(2):
driver = WD.get_driver()
driver.get(web_list[i])
print(i)
WD.quit_driver()
selenium webdriver单例模式
于 2025-07-08 15:14:42 首次发布
Python3.8
Conda
Python
Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本
您可能感兴趣的与本文相关的镜像
Python3.8
Conda
Python
Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

1516

被折叠的 条评论
为什么被折叠?



