私が行っている調査では、プログラムで React Web アプリにログインしようとしていますが、毎回ログイン フォームを使用することはできません。サイトに戻ってきたふりをする必要があります。
アプリはセッション Cookie を使用してログインしているユーザーを識別しませんが、IndexedDB と LocalStorage の値の組み合わせを使用します。
私のコードは次のようになります (プライベート メッセージで Web サイトの名前をお知らせします) が、正常にログインできません。Web サイトに 2 回目にアクセスすると、セレン ブラウザーはログインしません。間違っていますか?
cookies = {
# All cookies set by the domain.
}
local_storage = {
# All key value pairs found in the local storage
# of a browser connected to the website.
}
driver = webdriver.Firefox()
driver.get(website_url)
time.sleep(5)
for key, value in local_storage.items():
driver.execute_script("window.localStorage.setItem('%s', '%s');" % (key, value))
for key, value in cookies.items():
driver.add_cookie({"name": key,
"value": value,
"domain":domain_url,
"path": "/"})
driver.execute_script("""
var db;
var request = window.indexedDB.open("keyval-store", 1);
request.onsuccess = function(event) {
db = request.result;
console.log("success: "+ db);
};
request.onupgradeneeded = function(event) {
var db = event.target.result;
var objectStore = db.createObjectStore("keyval");
objectStore.add(value_found_in_the_IndexedDB,"reduxPersist:user");
objectStore.add(another_value_found_in_the_IndexedDB, "reduxPersist:appSettings");
};
""")
time.sleep(5)
driver.get(website_url)
time.sleep(1)