Melden Sie sich mit Selenium Python bei Yahoo Business an

Hunderte von Yahoo Business IDs und Passwörtern. Ist es möglich, sich mit dieser Excel-Listen-ID und diesem Kennwort anzumelden? Viele Dinge, die die Excel-Liste nicht aktualisiert, auch wenn das Passwort geändert wird. Daher wird die Anmeldung durch Scraping bestätigt.

Ich dachte, es sei einfach, aber ich blieb ein wenig stecken, also werde ich es aufschreiben.

Fazit

Melden Sie sich nicht direkt über den Anmeldebildschirm an. Wechseln Sie von einer anderen Seite in Yahoo zum Anmeldebildschirm und melden Sie sich an.

Zum Beispiel Ohne zum direkten Anmeldebildschirm überzugehen https://business.yahoo.co.jp/ ↓ https://login.bizmanager.yahoo.co.jp/login Übergang in der Reihenfolge von.

In der Quelle des Yahoo Business-Anmeldebildschirms gibt es viele versteckte Elemente. Es scheint, dass Sie sich nicht anmelden können, wenn diese .crumb leer ist (nichts passiert). Wenn Sie also die richtige ID und das richtige Passwort mit dem versteckten .crub leer eingeben, geschieht nichts, und selbst wenn Sie die falsche ID und das falsche Passwort eingeben, wird der Bildschirm "ID und Passwort sind falsch" nicht angezeigt. ..

Yahoo Business-Anmeldebildschirm ausgeblendet.Krume hat keinen Wert


<form method="post" action="/login.php" autocomplete="off" name="login_form" onsubmit="return checkMultipleSubmit();">
<input type="hidden" name="url" value="https://business.yahoo.co.jp/" data-rapid_p="1">
<input type="hidden" name="action" value="login" data-rapid_p="2">
<input type="hidden" name=".flow" value="" data-rapid_p="3">
<input type="hidden" name=".crumb" value="" data-rapid_p="4">

https://business.yahoo.co.jp/ ↓ https://login.bizmanager.yahoo.co.jp/login Beim Übergang in der Reihenfolge von In der versteckten .crub wurde ein Wert eingegeben.

Yahoo Business versteckt.Nachdem der Sitzungswert in Crumb eingestellt ist


<form method="post" action="/login.php" autocomplete="off" name="login_form" onsubmit="return checkMultipleSubmit();">
<input type="hidden" name="url" value="https://business.yahoo.co.jp/" data-rapid_p="1">
<input type="hidden" name="action" value="login" data-rapid_p="2">
<input type="hidden" name=".flow" value="" data-rapid_p="3">
<input type="hidden" name=".crumb" value="dD14Q0R0ZkImc2s9eGlqMXh3dTRLcVJzM29KQ3pLMlIwaHNVcVZvLQ==" data-rapid_p="4">

Wenn Sie sich nach diesem Status anmelden, können Sie sich durch Scraping anmelden.

Umgebung Windows10 Python3.8.3 Selenium Google Chrome

-Es wird davon ausgegangen, dass der Chrome-Treiber im Treiber eingestellt ist. ・ Time.sleep ist enthalten, da es blockiert werden kann, wenn Sie zu schnell fortfahren.

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

#Gehen Sie nicht direkt zum Anmeldebildschirm
driver.get("https://business.yahoo.co.jp/")
driver.get("https://login.bizmanager.yahoo.co.jp/login.php")    

#Ich habe eine Funktion erstellt, um sendkey sicherzustellen.
move_textbox_id(driver,"user_name","ID hier")        
move_textbox_id(driver,"password","Passwort hier")      
        
#Ich möchte nicht zu schnell gehen und blockiert werden, also geh langsam.
time.sleep(1)     
    
element = driver.find_element_by_xpath("//*@id='bidlogin']/div/div/form/fieldset/div[3]/input")
element.click()

try:
  #Als ich den Linktext zum Abmelden gefunden habe, habe ich mich angemeldet.
   WebDriverWait(driver,8).until(EC.presence_of_element_located((By.LINK_TEXT, "Ausloggen")))
except:
  #Was tun, wenn der Abmeldelink aus irgendeinem Grund nicht gefunden werden kann?

def move_textbox_id(driver, id, atai):
    start = time.time()
    while driver.find_element_by_id(id).get_attribute('value')!=atai:

        driver.find_element_by_id(id).clear()
        time.sleep(1)
        
        #Geben Sie mit der Sendetaste einen Wert ein
        driver.find_element_by_id(id).send_keys(atai)
        time.sleep(1)

        if time.time()-start > 5 :
            return False   
    return True

Es war schwer zu glauben, dass es einfach war, weil ich mich gerade angemeldet habe. Insbesondere im geheimen Modus können Sie sich niemals anmelden, wenn Sie sich direkt über den Anmeldebildschirm anmelden. Natürlich wurde die erste Anmeldung auch dann abgelehnt, wenn Sie sich manuell anmeldeten, anstatt zu kratzen. Ich machte mir keine Sorgen, weil ich dachte, ich würde mit der Kopie herumspielen.

Recommended Posts

Melden Sie sich mit Selenium Python bei Yahoo Business an
Schaben mit Selen in Python
Scraping mit Selen in Python
Ich war süchtig danach, 2020 mit Selen (+ Python) zu kratzen
Scraping mit Selen in Python (Basic)
So melden Sie sich mit Python bei AtCoder an und senden automatisch
Versuchen Sie, sich mit Python bei qiita anzumelden
Python-Protokoll mit GAE an die Konsole ausgeben
So arbeiten Sie mit BigQuery in Python
Melden Sie sich mit Anforderungen in Python bei Slack an
So betreiben Sie die Zeitstempelstation in Python
Ich habe versucht, mich automatisch mit Selen bei Twitter anzumelden (RPA, Scraping)
Melden Sie sich mit SSH bei einem Remote-Server an
Melden Sie sich einfach mit mehreren Konten bei AWS an
Screenshot mit Selen (Python Edition)
Wie man tkinter mit Python in Pyenv benutzt
Schaben mit Selen [Python]
So konvertieren / wiederherstellen Sie einen String mit [] in Python
So führen Sie eine Hash-Berechnung mit Salt in Python durch
Erklären Sie ausführlich, wie Sie mit Python einen Sound erzeugen
So führen Sie Tests zusammen mit Python unittest aus
Super Primer für Python-Erste Schritte mit Python3.5 in 3 Minuten
Ich möchte mit einem Roboter in Python arbeiten.
Ausgabeprotokoll im JSON-Format mit Python-Standardprotokollierung
So laden Sie Dateien von Selenium of Python in Chrome herunter
So wechseln Sie mit Python + Selenium + Chrome in den Smartphone-Modus
Stellen Sie mit Python eine Verbindung zu BigQuery her
So löschen Sie stdout in Python
Betreiben Sie LibreOffice mit Python
Schaben mit Chromedriver in Python
Debuggen mit pdb in Python
Melden Sie sich auf der Website in Python an
Stellen Sie mit Python eine Verbindung zu Wikipedia her
Post to Slack mit Python 3
Python: Arbeiten mit Firefox mit Selen
Starten Sie mit Python zu Selen
Scraping mit Tor in Python
Tweet mit Bild in Python
Kombiniert mit Ordnungszahl in Python
Sprechen mit Python [Text zu Sprache]
Schalten Sie Python mit Alternativen auf 2.7 um
Schreiben Sie mit Python in csv
Schaben mit Selen + Python Teil 2
Wie man in Python entwickelt
Post an Slack in Python
Übergeben Sie das aus Python-Anforderungen erhaltene Cookie für die Anmeldesitzung an den Selenium-Browser, um sich anzumelden.
Was tun, wenn `Argumente [0] .scrollIntoView ();` in Python-Selen fehlschlägt?
[Road to Intermediate Python] Installieren Sie Pakete in großen Mengen mit pip
So extrahieren Sie einen Termin in Google Kalender mit Python
So manipulieren Sie das DOM im Iframe mit Selen
Wie man mit Pythons Selen in Sekundenschnelle kratzt
Ich kann mich mit Django 3 nicht auf der Admin-Seite anmelden
[Selenium] Ändern Sie das Protokollausgabeziel, wenn Sie Phantomjs mit Python3 ausführen
Vorsichtsmaßnahmen bei der Verwendung von Python mit AtCoder
Dinge, die Sie bei der Verwendung von CGI mit Python beachten sollten.
Zahlenerkennung in Bildern mit Python
[Python] Wie man PCA mit Python macht
Python: So verwenden Sie Async mit
Machen Sie Apache Log CSV mit Python
GOTO in Python mit erhabenem Text 3
Arbeiten mit LibreOffice in Python: Importieren