Erstellen eines Browser-Automatisierungstools mit Ruby + Selenium

Ich habe ein Tool entwickelt, um die Arbeit des einfachen Knallens zu automatisieren, um die Klasse nach Verfügbarkeit zu belegen, wenn jemand sie im Lotteriekurs der Universitätsregistrierung entfernt. Ich denke, dass die Methode zur Anmeldung für Kurse je nach Universität unterschiedlich ist, daher werde ich nur darauf eingehen. Ich habe Ruby, SeleniumWebDriver und Google Chrome als Browser verwendet.

Was ist Selen?

Ein Tool, das Webanwendungen in einem Webbrowser automatisch ausführt (testet).

Was ist Selenium Web Driver?

Ein Mechanismus, um die Probleme des alten Selenium RC zu lösen und den Browser zu bedienen. Selenium RC wird auch als Selenium 1 bezeichnet, und Selenium Web Driver wird auch als Selenium 2 bezeichnet.

Umgebung

$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.6
BuildVersion: 18G103

$ ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin18]

Installieren Sie den Selenium Web Driver

$ gem install selenium-webdriver

Selenium Web Driver Juwel im Terminal hinzugefügt.

$ gem list

Wenn Selen-Webdriver angezeigt wird, ist es OK!

Chrome-Treiber installieren

Dieses Mal verwenden wir Google Chrome im Browser. Installieren Sie daher den Chrome-Treiber über den folgenden Link.

Chrome Driver

Beispielcode

Ich werde den Code im Editor schreiben. Ich denke, dass die Seitenübergänge je nach Universität unterschiedlich sein werden. Seien Sie also kurz. Da wir dieses Mal Ruby verwenden, werden wir es selenium_test.rb nennen.

selenium_test.rb


require 'selenium-webdriver'

driver = Selenium::WebDriver.for :chrome
driver.manage.timeouts.implicit_wait = 60
#Geben Sie die Wartezeit an, bis das angegebene Treiberelement gefunden wird

driver.navigate.to "URL"
#Zugriff durch Angabe der URL

driver.find_element(:xpath, 'Beschreiben Sie den entsprechenden xpath').click
#Geben Sie eine Schaltfläche mit xpath an und drücken Sie

driver.find_element(:name 'Das Namensattribut, das Sie angeben möchten').send_keys('Das Wort, das Sie eingeben möchten')
#Geben Sie die Eingabeform des Namensattributs an und geben Sie Zeichen ein.

#Verwenden Sie danach bitte if-Anweisung oder Schleifenanweisung usw. und erstellen Sie diese gemäß der Kursregistrierung jeder Universität

driver.quit
#Treiber schließen

Mit dem folgenden Befehl ausführen.

$ ruby selenium_test.rb

Bitte weisen Sie auf merkwürdige Punkte hin! !!

Referenz

Selenium Cheet Sheet

Recommended Posts

Erstellen eines Browser-Automatisierungstools mit Ruby + Selenium
Erstellen eines Chinchiro-Spiels mit Ruby 4. Erstellen eines Spielfortschrittsprozesses
Erstellen eines Kalenders mit Ruby
Ruby Scraping-Move Selen Headless mit VPS.
Erstellen Sie mit JavaFX ein Diashow-Tool
Erstellen einer Timer-App mit Schlamm
Machen Sie ein Tippspiel mit Ruby
[Linux: Ruby] Verwenden Sie den Treiber mit Selen, ohne den Pfad des Browsertreibers anzugeben
Ich habe mit Ruby einen riskanten Würfel gemacht
Extrahieren Sie einen Teil einer Zeichenfolge in Ruby
Die Programmierung von Ruby-Spielen begann mit einem Browser: Einführung in Nyle-Canvas (DXRuby-Stil)
Ruby-Programmierung mit nur einem Browser: "Block Breaking", das Schritt für Schritt erstellt (Nyle-Canvas Edition)
Escape-Verarbeitung beim Erstellen einer URL in Ruby
AtCoder Anfängerwettbewerb 169 A, B, C mit Rubin
Zugriff mit Selen als Gegenmaßnahme für navigator.webdriver
(Ruby on Rails6) Erstellen von Daten in einer Tabelle
Erstellen eines gemeinsamen Repositorys mit Spring Data JPA
Ich habe mit Ruby On Rails ein Portfolio erstellt
[Ruby] Generiere verketteten QR-Code mit rqrcode (Knowledge)
Machen wir einen LINE Bot mit Ruby + Sinatra - Teil 2
[Ruby] Ich habe einen Crawler mit Anemone und Nokogiri gemacht.
[Ruby] Generiere verketteten QR-Code mit rqrcode (Übung)
Ein Memorandum beim Erstellen eines REST-Service mit Spring Boot
Machen wir einen LINE Bot mit Ruby + Sinatra - Teil 1