Selenium python firefox запуск для другого python скрипта
Имеется питон скрипт вида
options = webdriver.FirefoxOptions()
options.add_argument("-headless")
driver = webdriver.Firefox(options=options)
driver.get(site)
В скрипт передаётся site который потом открывается в firefox. Передать сразу набор сайтов не выйдет как следствие каждый раз при запуске скрипта создаётся новый драйвер и закрывается на что тратится куча времени.
Возможно ли как то предварительно ( может в другом скрипте ) создать драйвер и передать в используемый скрипт? Что бы осталось только вызвать
driver.get(site)
Не создавая каждый раз новый драйвер и тем самым значительно увеличивая скорость работы. А по завершению закрыть драйвер.
Ответы (1 шт):
Автор решения: Egor
→ Ссылка
Предложу такое простое решение, не проверял работоспособность:
def create_driver():
options = Options()
options.add_argument("-headless")
driver = webdriver.Firefox(options=options)
return driver
def open_site(driver, site):
driver.get(site)
def close_driver(driver):
driver.quit()
if __name__ == "__main__":
driver = create_driver()
sites = ["https://example.com", "https://another-site.com", "https://yet-another-site.com"]
for site in sites:
open_site(driver, site)
# Здесь можно добавить ожидание, обработку страницы, и так далее
close_driver(driver)