Форум сайта python.su
Как правильно закрыть браузер открытый объектом класса webdriver.Chrome из библиотеки selenium при использовании синглтона в модуле?
Вот синглтоны(из темы: http://python.su/forum/topic/31847/):
1. Вариант : @WoMax
#!/usr/bin/env python from selenium import webdriver def singleton(cls): instances = {} def getinstance(): if cls not in instances: instances[cls] = cls() return instances[cls] return getinstance @singleton class Firefox(webdriver.Firefox): pass if __name__ == '__main__': Firefox().get('https://www.ya.ru') Firefox().get('https://www.google.com')
from selenium import webdriver class Chrome(webdriver.Chrome): def __new__(cls, *args, **kwargs): if not hasattr(cls, '_instance'): cls._instance = super().__new__(cls, *args, **kwargs) super().__init__(cls._instance, *args, **kwargs) return cls._instance def __init__(self, *args, **kwargs): pass
Офлайн
sys_devэто 3 строчки кода, Карл…
Написать реализацию метода __del__() для синглтон класса
Офлайн
WoMaxТо есть это и есть верный способ и другой тут будет не python-way ?
это 3 строчки кода, Карл…
Офлайн