Je veux changer la valeur de l'attribut dans Selenium of Ruby

Aperçu

Lors de l'écriture du traitement de scraping avec Selenium of Ruby, il y a une scène où vous voulez vraiment changer la valeur d'attribut. Il n'est pas utilisé lorsque vous souhaitez suivre fidèlement le comportement de l'interface utilisateur, mais il est utile lorsque vous connaissez le comportement de l'interface utilisateur et que vous souhaitez ignorer le traitement gênant et obtenir immédiatement celui souhaité.

Méthode

L'accès à Attribute dans Ruby ne trouve pas SetAttribute même s'il a GetAttribute. (Cela peut être une question de savoir comment le trouver) Get ne change pas le DOM, mais je suppose qu'il n'est pas préparé car il peut provoquer un comportement inattendu en écriture, donc cette fois j'utiliserai "execute_script" Utiliser.

execute_script.rb


#Initialisation du pilote
client = Selenium::WebDriver::Remote::Http::Default.new
driver = Selenium::WebDriver.for :chrome, http_client: client

#<div id="mw-content-text" lang="ja" dir="ltr" class="mw-content-ltr">
#Je veux changer ja en fr

#Obtenez l'élément cible
target_element = driver.find_element(:class_name, 'mw-content-ltr')
driver.execute_script("arguments[0].setAttribute('lang', 'en');", target_element)

référence

https://www.rubydoc.info/gems/selenium-webdriver/0.0.28/Selenium%2FWebDriver%2FDriver:execute_script

Recommended Posts

Je veux changer la valeur de l'attribut dans Selenium of Ruby
Je veux obtenir la valeur en Ruby
[Ruby] Je souhaite extraire uniquement la valeur du hachage et uniquement la clé
Je souhaite modifier le paramètre de sortie du journal de UtilLoggingJdbcLogger
[Ruby] Je souhaite inverser l'ordre de la table de hachage
Je souhaite changer la couleur du menu de contrôle en haut de Liferay 7 / DXP
[Ruby] Je souhaite afficher uniquement le caractère impair dans la chaîne de caractères
J'ai essayé de créer une classe parent d'objet de valeur dans Ruby
[Ruby] Je souhaite afficher les éléments publiés par ordre de date la plus récente
Comment changer la valeur d'une variable à un point d'arrêt dans intelliJ
J'ai essayé d'utiliser pleinement le cœur du processeur avec Ruby
Je veux intégrer n'importe quel TraceId dans le journal
Je veux obtenir la valeur de Cell de manière transparente quel que soit CellType (Apache POI)
Je veux connaître la réponse de l'application Janken
Je veux retourner la position de défilement de UITableView!
Je souhaite modifier le chemin après une nouvelle inscription après m'être connecté avec plusieurs appareils.
[Active Admin] Je souhaite spécifier l'étendue de la collection à afficher dans select_box
[Rails] Je souhaite afficher la destination du lien de link_to dans un onglet séparé
[Rails] [bootstrap] Je souhaite modifier la taille de la police de manière réactive
Je souhaite effectuer une factorisation prime rapide avec Ruby (ABC177E)
J'ai brièvement résumé la grammaire de base de Ruby
Je veux donner un nom de classe à l'attribut select
Je veux créer un fichier Parquet même en Ruby
Je souhaite passer au même écran dans l'état enregistré
Je souhaite simplifier l'instruction if-else de la branche conditionnelle en Java
Je souhaite contrôler l'affichage de la barre de navigation de gestion supérieure (menu Contrôle) dans Liferay 7 / DXP
Je veux recréer le contenu des actifs à partir de zéro dans l'environnement construit avec capistrano
J'ai essayé de résoudre le problème de la "sélection multi-étapes" avec Ruby
Je veux comprendre le flux des paramètres de demande de traitement Spring
L'histoire de Collectors.groupingBy que je veux garder pour la postérité
Vous voulez savoir ce que Ruby n est la puissance de 2? (Jugement de puissance de 2)
Je veux limiter l'entrée en réduisant la plage de nombres
Je veux supprimer la marge supérieure dans UITableView de Grouped (swift)
[Java] Je veux effectuer distinctement avec la clé dans l'objet
[Android] Je souhaite obtenir l'auditeur à partir du bouton de ListView
Comment incrémenter la valeur de Map sur une ligne en Java
Je veux connaître la méthode du contrôleur où l'exception a été levée dans le ExceptionHandler de Spring Boot
[Rails] Je souhaite envoyer des données de différents modèles dans un formulaire
Je veux écrire une JSP dans Emacs plus facilement que la valeur par défaut.
Étapes pour rendre Spring Boot capable de faire référence à la valeur dans le fichier de propriétés
Je veux connaître le JSP du portlet ouvert lors du développement de Liferay
Comment modifier le nombre maximum et maximum de données POST dans Spark
J'ai essayé de résoudre le problème de la séquence Tribonacci en Ruby, avec récurrence.
Je veux passer l'argument d'Annotation et l'argument de la méthode d'appel à aspect
Je souhaite obtenir l'adresse IP lors de la connexion au Wi-Fi avec Java
Je souhaite afficher un message d'erreur lors de l'inscription dans la base de données
[Ruby] J'ai essayé de résumer les méthodes fréquentes dans paiza