Я использую Selenium с Python, чтобы войти на страницу, а затем сразу перейти на другую страницу в той же вкладке. Мне нужно сохранить учетные данные на странице, но в случае перехода на новую страницу они теряются.
Я испробовал 2 вещи - одно - сохранить файлы cookie после команды input.send_keys (keys.ENTER) в приведенном ниже коде с помощью pickle.dump, а затем загрузить те же файлы cookie после загрузки новой страницы. Другой способ - просто загрузить профиль Firefox, который я создал после сохранения файлов cookie.
Вот мой код:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import pickle
from selenium.webdriver.firefox.webdriver import FirefoxProfile
profile = FirefoxProfile("C:\\Users\\ace\\AppData\\Local\\Mozilla\\Firefox\\Profiles\\l4piuit9.ace")
driver = webdriver.Firefox(profile)
driver.get("https://forums.the-elite.net/index.php?action=login")
# #handle the form data and log in by forcing an enter
inputElement1 = driver.find_element_by_name("cookieneverexp").click()
inputElement2 = driver.find_element_by_name("user")
inputElement2.send_keys('REMOVED')
inputElement3 = driver.find_element_by_name("passwrd")
inputElement3.send_keys('REMOVED')
inputElement3.send_keys(Keys.ENTER)
#save the cookies, they don't transfer over when navigating to a new page
#pickle.dump(driver.get_cookies(), open("elite.pkl", "wb"))
#new page / poll
driver.get("https://forums.the-elite.net/index.php?action=votelog;topic=22504")
#get the cookies
#cookies = pickle.load(open("elite.pkl", "rb"))
#for cookie in cookies:
# driver.add_cookie(cookie)
Ничто из этого, похоже, ничего не делает. Я подумал, что может потребоваться задержка, поэтому я включил implicit_wait в 10 с, но это, похоже, не имело значения.
В чем причина этого и как я могу устранить это?