Ich möchte den Wert von Attribute in Selenium of Ruby ändern

Überblick

Wenn Sie die Scraping-Verarbeitung mit Selenium of Ruby schreiben, gibt es eine Szene, in der Sie den Attributwert wirklich ändern möchten. Es wird nicht verwendet, wenn Sie das Verhalten der Benutzeroberfläche genau verfolgen möchten. Es ist jedoch effektiv, wenn Sie das Verhalten der Benutzeroberfläche kennen und die mühsame Verarbeitung überspringen und sofort die gewünschte Verarbeitung wünschen.

Methode

Der Zugriff auf Attribute in Ruby findet SetAttribute nicht, obwohl GetAttribute vorhanden ist. (Es kann eine Frage der Suche sein.) Get ändert das DOM nicht, aber ich denke, dass es nicht vorbereitet ist, da es zu unerwartetem schriftlichem Verhalten führen kann. Daher werde ich dieses Mal "execute_script" verwenden. Benutzen.

execute_script.rb


#Treiberinitialisierung
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">
#Ich möchte ja in en ändern

#Holen Sie sich das Zielelement
target_element = driver.find_element(:class_name, 'mw-content-ltr')
driver.execute_script("arguments[0].setAttribute('lang', 'en');", target_element)

Referenz

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

Recommended Posts

Ich möchte den Wert von Attribute in Selenium of Ruby ändern
Ich möchte den Wert in Ruby erhalten
[Ruby] Ich möchte nur den Wert des Hash und nur den Schlüssel extrahieren
Ich möchte die Protokollausgabeeinstellung von UtilLoggingJdbcLogger ändern
[Ruby] Ich möchte die Reihenfolge der Hash-Tabelle umkehren
Ich möchte die Farbe des Steuerungsmenüs oben in Liferay 7 / DXP ändern
[Ruby] Ich möchte nur das ungerade Zeichen in der Zeichenfolge ausgeben
Ich habe versucht, ein übergeordnetes Wertklasseobjekt in Ruby zu erstellen
[Ruby] Ich möchte veröffentlichte Artikel in der Reihenfolge des neuesten Datums anzeigen
So ändern Sie den Wert einer Variablen an einem Haltepunkt in IntelliJ
Ich habe versucht, den CPU-Kern mit Ruby voll auszunutzen
Ich möchte eine TraceId in das Protokoll einbetten
Ich möchte den Wert von Cell unabhängig vom CellType (Apache POI) transparent erhalten.
Ich möchte die Antwort der Janken-App wissen
Ich möchte die Bildlaufposition von UITableView zurückgeben!
Ich möchte den Pfad nach der neuen Registrierung ändern, nachdem ich mich mit mehreren Geräten angemeldet habe.
[Active Admin] Ich möchte den Umfang der Sammlung angeben, die in select_box angezeigt werden soll
[Rails] Ich möchte das Linkziel von link_to auf einer separaten Registerkarte anzeigen
[Rails] [Bootstrap] Ich möchte die Schriftgröße entsprechend ändern
Ich möchte mit Ruby (ABC177E) eine schnelle Primfaktorisierung durchführen.
Ich habe die grundlegende Grammatik von Ruby kurz zusammengefasst
Ich möchte dem select-Attribut einen Klassennamen geben
Ich möchte eine Parkettdatei auch in Ruby erstellen
Ich möchte im gespeicherten Zustand zum selben Bildschirm wechseln
Ich möchte die if-else-Anweisung für bedingte Verzweigungen in Java vereinfachen
Ich möchte die Anzeige der oberen Verwaltungsnavigationsleiste (Steuerungsmenü) in Liferay 7 / DXP steuern
Ich möchte den Inhalt von Assets in der mit capistrano erstellten Umgebung von Grund auf neu erstellen
Ich habe versucht, das Problem der "mehrstufigen Auswahl" mit Ruby zu lösen
Ich möchte den Ablauf der Spring-Verarbeitungsanforderungsparameter verstehen
Die Geschichte von Collectors.groupingBy, die ich für die Nachwelt behalten möchte
Möchten Sie wissen, was Ruby n die Potenz von 2 ist? (Machturteil von 2)
Ich möchte die Eingabe begrenzen, indem ich den Zahlenbereich einschränke
Ich möchte den oberen Rand in der UITableView von Grouped entfernen (schnell)
[Java] Ich möchte mit dem Schlüssel im Objekt eindeutig arbeiten
[Android] Ich möchte den Listener über die Schaltfläche in ListView abrufen
So erhöhen Sie den Wert von Map in einer Zeile in Java
Ich möchte die Methode des Controllers kennen, bei der die Ausnahme im ExceptionHandler von Spring Boot ausgelöst wurde
[Rails] Ich möchte Daten verschiedener Modelle in einem Formular senden
Ich möchte JSP in Emacs einfacher als die Standardeinstellung schreiben.
Schritte zum Ausführen von Spring Boot beziehen sich auf die Werte in der Eigenschaftendatei
Ich möchte die JSP des offenen Portlets bei der Entwicklung von Liferay kennen
So ändern Sie die maximale und maximale Anzahl von POST-Daten in Spark
Ich habe versucht, das Problem der Tribonacci-Sequenz in Ruby mit Wiederholung zu lösen.
Ich möchte das Argument der Annotation und das Argument der aufrufenden Methode an den Aspekt übergeben
Ich möchte die IP-Adresse erhalten, wenn ich mit Java eine Verbindung zu Wi-Fi herstelle
Ich möchte bei der Registrierung in der Datenbank eine Fehlermeldung anzeigen
[Ruby] Ich habe versucht, die häufigen Methoden in Paiza zusammenzufassen