[PYTHON] Ich möchte vorerst Selen bewegen [für Mac]

Einführung

Ein Webbrowser-Testwerkzeug namens Selen, Grob gesagt wusste ich, dass es etwas gibt, das den Webbildschirm automatisch bedienen kann, wenn Sie einen kleinen Code schreiben Ich wollte es vorerst versuchen.

Ich habe mir viel von der Weisheit meiner Vorfahren geliehen, aber ich habe mir eine Notiz gemacht, weil es einige Stolperpunkte gab.

Es wird fast kopiert, aber die Grundlagen sind Einführung in Selen beginnend mit nur 3 Python-Zeilen Notieren Sie, wo Sie gestolpert sind. (Stand 10. September 2020)

Was du tun kannst

Auf dem Browserbildschirm mit Selen Suchergebnisse für die Zeichenfolge "Tanuki-Bild" automatisch anzeigen

Umgebung

Vorbereitungen

Verfahren

$ brew install chromedriver

#Ich konnte es oben nicht installieren, also habe ich es versucht, wie in der Fehleranweisung angegeben.
$ brew cask install chromedriver
$ pip install selenium

test.py


from selenium import webdriver

driver = webdriver.Chrome("Chromedriver Pfad") 

driver.get("https://google.co.jp")

Der Chromedriver-Pfad kann mit which chromedriver gefunden werden

$ python test.py

Ich habe hier im Popup einen Fehler erhalten, daher habe ich die Berechtigung zum Ausführen der heruntergeladenen Anwendung erteilt, indem ich auf Folgendes verwiesen habe.

Als ich versuchte, Selen zu verwenden, wurde mir gesagt, dass "" chromedriver "nicht geöffnet werden kann, weil der Entwickler nicht verifiziert werden kann."

Dies sollte den Chrome-Webbrowser öffnen.

Wenn Sie dies bisher tun können, schreiben Sie Folgendes

test.py


from selenium import webdriver 
from selenium.webdriver.common.keys import Keys #hinzufügen

driver = webdriver.Chrome("/usr/local/bin/chromedriver")
driver.get("https://google.co.jp")

text = driver.find_element_by_name("q") #Geben Sie das Namensattribut des Suchfelds an
text.send_keys("Tanuki Bild")#String"Tanuki Bild"Im Textfeld
text.send_keys(Keys.ENTER) #Drücken Sie die EINGABETASTE. Verwenden Sie eine Sondertaste

Stolperpunkt

→ Ich habe beschlossen, das Namensattribut anzugeben

→ Ich habe es so eingestellt, dass ENTER gedrückt wird (anstatt nach der Suchtaste zu suchen und darauf zu klicken) [^ 1]

Fehlerinhalt

 :
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable

Zusammenfassung

Ich konnte nicht untersuchen, warum ein solcher Fehler aufgetreten ist, aber Derzeit wird der Webbrowser automatisch geöffnet und Zeichen werden automatisch in das Suchfeld eingegeben. Ich konnte den Punkt erreichen, an dem die Suchergebnisse angezeigt werden.

[^ 1]: Aus Selen-Kurzreferenz

Recommended Posts

Ich möchte vorerst Selen bewegen [für Mac]
Ich möchte vorerst eine Docker-Datei erstellen.
Vorerst möchte ich jede Datei mit ffmpeg konvertieren !!
Flow Memo, um LOCUST vorerst zu verschieben
Ich möchte vorerst die Desktop-Umgebung von Ubuntu auf Android verwenden (Termux-Version)
Ich möchte vorerst Ubuntus Desktop-Umgebung auf Android verwenden (UserLAnd-Version)
Ich habe vorerst mit Floydhub gespielt
Ich habe Python zum ersten Mal auf dem Mac ausprobiert.
Molekulardynamiksimulation vorerst versuchen
Versuchen Sie vorerst, Arch Linux zu installieren.
Neben Excel jupyter Notebook vorerst
[Hi Py (Teil 1)] Ich möchte vorerst etwas machen, also setze zuerst ein Ziel.
Ich möchte die Desktop-Umgebung von Ubuntu vorerst auch unter Android verwenden (Termux-Version - japanische Eingabe in der Desktop-Umgebung).
Zur Zeit möchte ich mit FastAPI zeigen, wie man eine solche API in swagger verwendet
[TensorFlow] Ich möchte die Indizierung für Ragged Tensor beherrschen
Ich habe vorerst versucht, PIFuHD unter Windows auszuführen
Ich möchte zum ersten Mal eine Django-Studie zur Mittagsdatenbank [EP1] erstellen
Ich möchte zum ersten Mal eine Django-Studie zum Mittagessen [EP1-4] erstellen
[Einführung in die Stärkung des Lernens] Stärkung des Lernens, um sich vorerst zu bewegen
Ich habe versucht, den Ball zu bewegen
Ich möchte den Namen der ausgeführten Funktion / Methode erhalten
Ich möchte die Ausführungszeit aufzeichnen und ein Protokoll führen.
Der Java-Programmierer versuchte (vorerst), die Sprache Go zu berühren.
Grundlegendes zur Python-Klasse Kampf (1) Verschieben wir sie vorerst
Fordern Sie die Bildklassifizierung durch TensorFlow2 + Keras 1-Move vorerst heraus.
Ich möchte Spyder an die Taskleiste anheften
Ich möchte kühl auf die Konsole ausgeben
Ich habe zum ersten Mal Tensorflow ausprobiert
Ich möchte mit dem Reim Teil1 umgehen
Ich möchte mit dem Reim part3 umgehen
Ich möchte Linux auf dem Mac verwenden
Ich möchte den Fortschrittsbalken anzeigen
Ich möchte mit dem Reim part2 umgehen
Ich möchte mit dem Reim part5 umgehen
Ich möchte mit dem Reim part4 umgehen
"Stoppen Sie das Festschreiben japanischer Dateien für Git auf Mac> <" Vorerst habe ich ein Skript geschrieben, um nach inkompatiblen japanischen Dateien unter Mac und Linux zu suchen.
Ich habe eine Funktion erstellt, um zu überprüfen, ob der Webhook vorerst in Lambda empfangen wird
Fordern Sie die Bildklassifizierung mit TensorFlow2 + Keras CNN 1 heraus ~ Bewegen Sie sich vorerst ~
Ich möchte die Verarbeitung zwischen Testzeit und Produktionsumgebung trennen
Zum ersten Mal in Numpy werde ich es von Zeit zu Zeit aktualisieren
Python: Ich möchte die Verarbeitungszeit einer Funktion genau messen
So verwenden Sie MkDocs zum ersten Mal
Importieren Sie sie vorerst in jupyter
Machen Sie vorerst ein Histogramm (matplotlib)
Verwenden Sie vorerst Logger mit Python
Führen Sie yolov4 "vorerst" in Windows aus
Ich möchte mit dem Reim part7 (BOW) umgehen
Ich habe zum ersten Mal versucht, Python zu programmieren.
Versuchen Sie es vorerst mit LINE Notify
Ich möchte systemd nach Zeitzone verwalten! !!
Ich habe Mind Meld zum ersten Mal ausprobiert
Ich möchte das Erscheinungsbild von zabbix anpassen
virtualenv Das ist vorerst alles!
Ich möchte die Aktivierungsfunktion Mish verwenden
Ich möchte den Fortschritt in Python anzeigen!
Versuchen Sie zum ersten Mal, in Qiita zu posten
Ich möchte eine schöne Python-Entwicklungsumgebung für meinen neuen Mac erstellen
Versuchen Sie, Pfeffer ein externes Modul hinzuzufügen. Vorerst in Anfragen.