Здраствуйте, столкнулся с проблемой разрыва сессии логина на определенном сайте, если запускаешь новый браузер, пришла идея не запускать новый браузер, а открыть новые окна с текущего, тогда сессия не рветься, но у меня почему-то закрывается первый браузер, подскажите, пожалуйста, как фиксить и может есть какие-то советы по улучшению кода, другая логика или может более универсальные варианты (хранить печеньки не получается, сайт рвет сессию, когда их грузишь)
import os
import threading
import warnings
from time import sleep
from selenium.webdriver.common.keys import Keys
from selenium import webdriver
warnings.filterwarnings("ignore")
def app(i):
chrome2 = webdriver.Chrome(chrome_options=options, executable_path=os.getcwd() + '\\chromedriver.exe')
chrome2.get("site url")
chrome.quit()
options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
options.add_argument("--disable-blink-features=AutomationControlled")
# options.add_argument("--headless")
chrome = webdriver.Chrome(chrome_options=options, executable_path=os.getcwd() + '\\chromedriver.exe')
try:
chrome.get("site url")
chrome.find_element_by_xpath('//a[@href="login/index.php"]').click()
sleep(1)
chrome.find_element_by_xpath('//input[@id="username"]').send_keys("login")
chrome.find_element_by_xpath('//input[@id="password"]').send_keys("pass")
chrome.find_element_by_xpath('//button[@id="loginbtn"]').click()
for i in range(4):
t = threading.Thread(target=app, args=(i,))
t.start()
except:
print("Error")
finally:
chrome.quit()
Пробовал еще вот так открывать именно новые окна сочетанием клавиш, но почему-то оно не создает новых окон, а все делает в одном
import os
import threading
import warnings
from time import sleep
from selenium.webdriver.common.keys import Keys
from selenium import webdriver
warnings.filterwarnings("ignore")
category = ['siteurl/category1',
'siteurl/category2',
'siteurl/category3',
'siteurl/category4']
def app(i):
body = chrome.find_element_by_tag_name("body")
body.send_keys(Keys.CONTROL + 'N')
sleep(2)
chrome.get(f"{category[i]}")
chrome.quit()
options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
options.add_argument("--disable-blink-features=AutomationControlled")
# options.add_argument("--headless")
chrome = webdriver.Chrome(chrome_options=options, executable_path=os.getcwd() + '\\chromedriver.exe')
chrome.get("site url")
chrome.find_element_by_xpath('//a[@href="login/index.php"]').click()
sleep(1)
chrome.find_element_by_xpath('//input[@id="username"]').send_keys("login")
chrome.find_element_by_xpath('//input[@id="password"]').send_keys("pass")
chrome.find_element_by_xpath('//button[@id="loginbtn"]').click()
for i in range(4):
t = threading.Thread(target=app, args=(i,))
t.start()
Заранее всем огромное спасибо