Création d'un outil d'automatisation de navigateur avec Ruby + Selenium

J'ai créé un outil pour automatiser le travail de pop-up afin de prendre le cours sur la base du premier arrivé, premier servi lorsque quelqu'un le supprime dans le cours de loterie de l'inscription à l'université. Je pense que la méthode d'inscription aux cours diffère selon l'université, donc je ne vais que la décrire. J'ai utilisé Ruby, SeleniumWebDriver et Google Chrome comme navigateur.

Qu'est-ce que le sélénium

Un outil qui exploite (teste) automatiquement les applications Web sur un navigateur Web.

Qu'est-ce que Selenium Web Driver?

Un mécanisme pour résoudre les problèmes de l'ancien Selenium RC et faire fonctionner le navigateur. Selenium RC est également appelé Selenium 1, et Selenium Web Driver est également appelé Selenium 2.

environnement

$ 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]

Installez le pilote Web Selenium

$ gem install selenium-webdriver

Ajout de la gemme Selenium Web Driver dans le terminal.

$ gem list

Si sélénium-webdriver est affiché, c'est OK!

Installation du pilote Chrome

Cette fois, nous utiliserons Google Chrome dans le navigateur, alors installez le pilote Chrome à partir du lien ci-dessous.

Chrome Driver

Exemple de code

J'écrirai le code dans l'éditeur. Je pense que les transitions de page varieront selon l'université, alors soyez bref. Puisque nous utilisons Ruby cette fois, nous l'appellerons selenium_test.rb.

selenium_test.rb


require 'selenium-webdriver'

driver = Selenium::WebDriver.for :chrome
driver.manage.timeouts.implicit_wait = 60
#Spécifiez le temps d'attente jusqu'à ce que l'élément du pilote spécifié soit trouvé

driver.navigate.to "URL"
#Accéder en spécifiant l'URL

driver.find_element(:xpath, 'Décrivez le xpath correspondant').click
#Spécifiez un bouton avec xpath et appuyez sur

driver.find_element(:name 'L'attribut de nom que vous souhaitez spécifier').send_keys('Le mot que vous voulez saisir')
#Spécifiez le formulaire de saisie de l'attribut de nom et saisissez des caractères.

#Après cela, veuillez utiliser if statement ou loop statement etc. et le créer en fonction de l'inscription au cours de chaque université

driver.quit
#Fermer le conducteur

Exécutez avec la commande suivante.

$ ruby selenium_test.rb

Veuillez signaler tout point étrange! !!

référence

Feuillet de Cheet Selenium

Recommended Posts

Création d'un outil d'automatisation de navigateur avec Ruby + Selenium
Création d'un jeu Chinchiro avec Ruby 4th Création d'un processus de progression du jeu
Créer un calendrier avec Ruby
Ruby Scraping-Move Selenium Headless avec VPS.
Créer un outil de diaporama avec JavaFX
Créer une application de minuterie avec de la boue
Faites un jeu de frappe avec ruby
[Linux: Ruby] Utilisez le pilote avec sélénium sans spécifier le chemin du pilote du navigateur
J'ai fait une mort risquée avec Ruby
Extraire une partie d'une chaîne en Ruby
La programmation de jeux Ruby a commencé avec un navigateur: Introduction à Nyle-canvas (style DXRuby)
Programmation Ruby avec juste un navigateur: "Blockbreaking" qui crée pas à pas (édition Nyle-canvas)
Traitement d'échappement lors de la création d'une URL dans Ruby
AtCoder Beginner Contest 169 A, B, C avec rubis
Accès avec Selenium comme contre-mesure pour navigator.webdriver
(Ruby on Rails6) Création de données dans une table
Création d'un référentiel commun avec Spring Data JPA
J'ai fait un portfolio avec Ruby On Rails
[Ruby] Générer un code QR concaténé avec rqrcode (Knowledge)
Faisons un Bot LINE avec Ruby + Sinatra - Partie 2
[Ruby] J'ai fait un robot avec de l'anémone et du nokogiri.
[Ruby] Générer un code QR concaténé avec rqrcode (pratique)
Un mémorandum lors de la création d'un service REST avec Spring Boot
Faisons un Bot LINE avec Ruby + Sinatra - Partie 1