Ich baue gerade ein Reporting-Tool mit Selenium auf Adwords. (Und nein, ich kann die API von Google nicht verwenden, da sie nicht die von mir gewünschte Funktionalität bietet).Selenium und Google - Wie verwenden Sie Cookies?
Ich versuche, Anmeldungen zu vermeiden und mich abzumelden, weil ich verstehe, dass häufige An- und Abmeldungen nicht so bequem sind wie die Cookie-basierte Authentifizierung.
Ich habe den folgenden Code: save.py
try:
driver = webdriver.Chrome()
driver.get('https://adwords.google.com')
time.sleep(90)
# Manually login to adwords page and wait
pickle.dump(driver.get_cookies() , open("cookies.pkl","wb"))
finally:
driver.close()
Und diese: load.py
try:
driver = webdriver.Chrome()
cookies = pickle.load(open("cookies.pkl", "rb"))
for cookie in cookies:
driver.add_cookie(cookie)
driver.get('https://adwords.google.com/')
time.sleep(60)
finally:
driver.close()
Als ich die erste load.py laufen, ich bin tatsächlich in der Lage die Spinner zu sehen, dass zeigt sich, wenn man sich bei Adwords anmeldet. Kurz danach werde ich ausgeloggt!
Ich weiß nicht, was das Authentifizierungssystem von Google veranlasst, mich abzumelden. Was denkst du ist der Grund dafür?
-Code Repo: https://gist.github.com/anonymous/63d32e49f59a09ab82fac1f9f972d555
Wie viel Zeit vergeht zwischen "Speichern" und "Laden" -Anrufen? Wäre es genug Zeit, dass die Cookies ablaufen? –
Vielleicht vermisse ich etwas, aber ich sehe nicht, dass eine Datei die andere anruft. Ich sehe auch, dass Sie den Treiber in jeder Datei nach einem Sleep-Timer schließen. Wird es abgemeldet, bevor die Schlafzeit endet? – IamBatman
@ John Gordon 1 Minute. Ich rufe die Last direkt an, nachdem ich gespeichert habe. – Sparrowcide