Automatisieren Sie UI-Tests mit Selenium API | Crawlen von Websites mit Python

Umgebung:

Wenn Sie einen automatisierten Test durchführen oder eine Website betreiben möchten, um etwas zu erhalten. Dieses Mal habe ich die API von Selen verwendet. Die Dokumentation ist hier Dieses Mal habe ich Firefox zum Crawlen verwendet. Es scheint, dass dies mit Chrome usw. möglich ist, aber es scheint, dass Browser von Drittanbietern nicht unterstützt werden. .. ..

sample.py


from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys

#Starten Sie den Browser
driver = webdriver.Firefox()

#Maximieren Sie das Fenster
driver.maximize_window()

#Zugang zur Website
driver.get("https://github.com")

#Holen Sie sich den Titel der Website
driver.title

# "q"Geben Sie ein Element mit dem Namen an
#Hier ist es ein Schlüsselwort-Eingabeformular zum Durchsuchen des Repositorys.
form_textfield = driver.find_element_by_name("q")
#Geben Sie "hoge" in das Eingabeformular ein
form_textfield.send_keys("hoge")
#Löschen Sie den eingegebenen Inhalt
form_textfield.clear()
#Schlüsselwort eingegeben("hoge")Und führen Sie eine Suche durch
form_textfield.submit()
#Finden Sie den Speicherort des Eingabeformulars heraus
form_textfield.location
#Überprüfen Sie die Größe des Eingabeformulars
form_textfield.size
#Überprüfen Sie den Tag-Namen des Eingabeformulars
form_textfield.tag
#Vom Element(Auf HTML-Quelle)Untersuche den Text
form_textfield.text

#Geben Sie das Element mit xpath an
#Hier 1 am Ende der Seite, 2, ...,Bezieht sich auf die Schaltfläche mit der Bezeichnung 2 von den Schaltflächen mit der Bezeichnung n
next_button = driver.find_element_by_xpath("//*[@id=\"container\"]/div[2]/div/div[2]/div[2]/div/a[1]")
#Auf dieses Element kann geklickt werden. Versuchen Sie also, darauf zu klicken
next_button.click()

#Geben Sie das Element mit xpath an
#Hier werde ich mich mit Python auf das Repository beschränken und erneut suchen.
refined_search_python = driver.find_element_by_xpath("//*[@id=\"container\"]/div[2]/div/div[1]/ul/li[9]/a")
refined_search_python.click()

#Stellen Sie die Zeitüberschreitung ein(Seitenübergang) <-Ich habe es noch nicht versucht
driver.set_page_load_timeout(1)

#Stellen Sie die Zeitüberschreitung ein(Skript ausführen) <-Ich habe es noch nicht versucht
driver.set_page_script_timeout(1)

#Gehe eine Seite zurück
#Wie es geht 1
ActionChains(driver).key_down(Keys.BACKSPACE).send_keys('').keys_up(Keys.BACKSPACE).send_keys('').perform()
#Wie mache ich Teil 2
driver.back()

#Eine Seite vorrücken
driver.forward()

#Mache ein Bildschirmfoto
driver.get_screenshot_as_file("./hogehoge.png ")

#Untersuchen Sie die Position des Fensters
driver.get_window_position()

#Überprüfen Sie die Größe des Fensters
driver.get_window_size()

#Seitenaktualisierung
driver.refresh()

#URL abrufen
driver.current_url

#Finden Sie heraus, welchen Browsertyp Sie derzeit verwenden
driver.name

#Holen Sie sich die Quelle der aktuell geöffneten Seite
driver.page_source

#Browser schließen
#Wie es geht 1
driver.quit()
#Wie mache ich Teil 2
driver.close()

Recommended Posts

Automatisieren Sie UI-Tests mit Selenium API | Crawlen von Websites mit Python
Automatisieren Sie Python-Tests mit CircleCI
Screenshot mit Selen (Python Edition)
Schaben mit Selen [Python]
Crawlen mit Python und Twitter API 1-Einfache Suchfunktion
Automatisieren Sie Chrome mit Python und Selen auf Ihrem Chromebook
Verwenden Sie die Trello-API mit Python
Schaben mit Selen in Python
Schaben mit Selen + Python Teil 1
Verwenden Sie die Twitter-API mit Python
Python: Arbeiten mit Firefox mit Selen
Scraping mit Selen in Python
Web-API mit Python + Falcon
Schaben mit Selen + Python Teil 2
Rufen Sie die API mit python3 auf.
Verwenden Sie die Unterschall-API mit Python3
Automatisieren Sie die Sushi-Herstellung mit Python
Testen mit Zufallszahlen in Python
Erstellen Sie Awaitable mit der Python / C-API
Automatisieren Sie das Testen von Smartphone-Apps mit Appium-Python Edition
Holen Sie sich Bewertungen mit Python Googlemap API
Scraping mit Selen in Python (Basic)
Führen Sie Rotrics DexArm mit der Python-API aus
Scraping mit Python, Selen und Chromedriver
Quine Post mit Qiita API (Python)
Crawlen mit Python und Twitter API 2-Implementierung der Benutzersuchfunktion
Vertrauteres Testen mit Selen
Klicken Sie mit Python auf die Etherpad-Lite-API
Automatisieren Sie einfache Aufgaben mit Python Part0
Automatisieren Sie Windows-Anwendungstests mit Windows Application Driver-Python Edition
Sammeln von Informationen von Twitter mit Python (Twitter API)
[Python] Automatisieren Sie Pelican Builds mit Travis CI
Holen Sie sich HTML von Element mit Python-Selen
Erstellen Sie automatisch eine Python-API-Dokumentation mit Sphinx
WebUI-Test mit Python2.6 + Selenium 2.44.0 - Profileinstellung
Einfacher Slack API-Client mit Python
Holen Sie sich Lebensmitteldaten mit Amazon API (Python)
Automatisieren Sie einfache Aufgaben mit Python Part1 Scraping
[Python] Erstellen Sie schnell eine API mit Flask
[Python] Betreiben Sie den Browser automatisch mit Selenium
Serverlose Gesichtserkennungs-API mit Python
[Python] Python-Paketinformationen mit der PyPI-API abrufen
Üben des Web-Scrapings mit Python und Selen
Automatisieren Sie das Testen von Facebook-Apps mit Facebook-Testbenutzern
Verwenden Sie den Phantomjs-Webdriver von Selen mit Pythons Unittest
Probieren Sie einen datengesteuerten Test mit Selenium Python Bindings und py.test aus
Automatischer Betrieb von Chrome mit Python + Selen + Pandas
Textextraktion mit GCP Cloud Vision API (Python3.6)
Versuchen Sie, Google Chrome mit Python und Selenium auszuführen
AtCoder: Python: Automatisieren Sie Beispieltests so weit wie möglich.
Holen Sie sich Aktienkursdaten mit Quandl API [Python]
LINE BOT mit Python + AWS Lambda + API Gateway
Melden Sie sich mit Selenium Python bei Yahoo Business an
Ziehen Sie eine lokale Datei mit Selenium (Python) per Drag & Drop.
Ich habe versucht, die Herstellung von Sushi mit Python zu automatisieren
Explosive Geschwindigkeit mit Python (Flasche)! Web-API-Entwicklung
Letzte Ranglistenerstellung mit der Qiita-API mit Python