Heim >Java >javaLernprogramm >Wie verwende ich den Selenium WebDriver von Java, um statische Webformulare zu verarbeiten?

Wie verwende ich den Selenium WebDriver von Java, um statische Webformulare zu verarbeiten?

PHPz
PHPznach vorne
2023-08-18 23:29:071251Durchsuche

如何使用Java的Selenium WebDriver处理静态网页表格?

Wenn Sie Selenium WebDriver zum Verarbeiten statischer Webformulare in Java verwenden, müssen Sie eine Reihe von Schritten befolgen, um relevante Daten zu extrahieren und die Formularkomponenten zu bedienen. Die ersten Schritte umfassen das Auffinden des Formulars auf der Webseite mithilfe der entsprechenden Kennung. Sobald Sie sie gefunden haben, können Sie über HTML-Tags wie a34de1251f0d9fe1e645927f19a896e8 auf einzelne Zeilen und Spalten zugreifen.

Daten aus Webtabellen können extrahiert und zur weiteren Verarbeitung gespeichert werden, indem jede Zeile und Spalte iterativ gescannt wird. Darüber hinaus können Sie Aktionen ausführen, z. B. auf eine bestimmte Zelle klicken oder das Vorhandensein bestimmter Daten in einer Tabelle überprüfen. Durch die Verwendung von Selenium WebDriver und Java kann die Automatisierung zur effizienteren Verwaltung statischer Webformulare eingesetzt werden

Die Übersetzung von

Web Tables

ins Chinesische lautet:

Web Tables

Wenn Sie Selenium WebDriver zum Verarbeiten von Webformularen in Java verwenden, müssen Sie mit den HTML-Formularen auf der Webseite interagieren. Um Tabellenelemente richtig zu positionieren, verwenden Sie geeignete Locators. Sobald die Tabelle gefunden ist, verwenden Sie die Methode „findElements()“, um alle Zeilen abzurufen und sie in einer Schleife zu durchlaufen. Verwenden Sie innerhalb dieser Schleife erneut die Methode „findElements()“, um auf jede Spalte jeder Zeile zuzugreifen. Die erforderlichen Daten für jede Spalte können dann über Methoden wie „getText()“ oder „getAttribute()“ extrahiert werden

WebDriver driver = new ChromeDriver();

Methode

In Java stehen mehrere Techniken zur Verarbeitung statischer Webformulare mit Selenium WebDriver zur Verfügung. Folgende Methoden können verwendet werden:

    Verwenden Sie eine HTML-Tabellenstruktur
  • Verwenden Sie die XPath-Achse

Verwenden Sie eine HTML-Tabellenstruktur

Wenn Sie Selenium WebDriver und Java zum Verarbeiten statischer Webtabellen verwenden, können Sie die HTML-Tabellenstrukturmethode nutzen. Identifizieren Sie zunächst das Tabellenelement anhand seiner eindeutigen Kennung oder relevanter HTML-Attribute. Sobald die Tabelle gefunden wurde, können WebDriver-Befehle verwendet werden, um die Tabellenzeilen und -spalten zu extrahieren und nach Bedarf zu iterieren. Rufen Sie bestimmte Zellwerte ab, indem Sie auf deren Zeilen- und Spaltenindex verweisen

Darüber hinaus können Sie tabellenbezogene Vorgänge ausführen, z. B. nach Spalten sortieren, filtern oder nach bestimmten Daten suchen. Durch die Nutzung der Leistungsfähigkeit von WebDriver und der Java-Programmierung können Sie effizient mit statischen Webformularen interagieren, Daten extrahieren und verschiedene Vorgänge nahtlos ausführen

Algorithmus

  • Starten Sie Ihren Webbrowser mit WebDriver

  • Navigieren Sie zur gewünschten Webseite, die die statische Webtabelle enthält

  • Suchen Sie Tabellenelemente mithilfe geeigneter WebDriver-Befehle (z. B. nach ID, Klasse, XPath usw.)

  • Extrahieren Sie Tabellenzeilen, indem Sie alle „tr“-Elemente in der Tabelle finden

  • Verwenden Sie eine Schleife, um die Zeilen zu durchlaufen.

  • Extrahieren Sie in jeder Zeile nach Bedarf die Tabellenzelle (Element „td“) oder die Kopfzelle (Element „th“)
  • Führen Sie gewünschte Vorgänge an Zelldaten aus (z. B. Text abrufen, Werte validieren usw.)

  • Optional können Sie weitere Vorgänge an der Tabelle ausführen, z. B. Sortieren, Filtern oder Suchen.

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class TableExample {
   public static void main(String[] args) {
      // Set up WebDriver (Assuming ChromeDriver here)
      System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
      WebDriver driver = new ChromeDriver();

      // Navigate to the desired webpage
      driver.get("https://www.techlistic.com/2017/02/automate-demo-web-table-with-selenium.html");

      // Find the table element
      WebElement tableElement = driver.findElement(By.tagName("table"));
      List<WebElement> rows = tableElement.findElements(By.tagName("tr"));

      // Iterate through each row
      for (WebElement rowElement : rows) {
         List<WebElement> cells = rowElement.findElements(By.tagName("td"));

         // Iterate through each cell in the row
         for (WebElement cellElement : cells) {
            String cellData = cellElement.getText();
            // Process the cell data as needed
            System.out.print(cellData + "\t");
         }

         // Move to the next line after processing each row
         System.out.println();
      }

      // Close the browser
      driver.quit();
   }
}

Ausgabe

Google   Maria Anders        Germany
Meta     Francisco Chang     Mexico
Microsoft    Roland Mendel    Austria
Island Trading    Helen Bennett    UK
Adobe    Yoshi Tannamuri     Canada
Amazon   Giovanni Rovelli     Italy

Xpath-Achse verwenden

Um mit statischen Webtabellen mit Selenium WebDriver und Java zu arbeiten, können Sie XPath-Achsen nutzen, die eine leistungsstarke Möglichkeit zur Navigation und Interaktion mit Tabellenelementen bieten. Durch die Nutzung von XPath-Achsen können Sie bestimmte Zeilen, Spalten oder Zellen innerhalb einer Tabellenstruktur lokalisieren. In diesem Fall sind die Achsen „Vorfahre“, „Nachkomme“ und „Nachfolger“ besonders nützlich

Zum Extrahieren von Tabellenzeilen können Sie beispielsweise den XPath-Ausdruck „//table//tr“ verwenden. Um eine bestimmte Zelle innerhalb einer Zeile abzurufen, können Sie den Zeilen-XPath mit der „td“-Achse verwenden, zum Beispiel „//table//tr[position()=2]//td[position()=3]“. XPath-Achsen bieten Flexibilität und Präzision bei der Arbeit mit komplexen Tabellenstrukturen, sodass Sie effizient mit statischen Webtabellen arbeiten und genau die Daten extrahieren können, die Sie benötigen

Algorithmus

  • Starten Sie Ihren Webbrowser mit WebDriver

  • Navigieren Sie zur gewünschten Webseite, die die statische Webtabelle enthält

  • Konstruieren Sie geeignete XPath-Ausdrücke, um Tabellen, Zeilen, Spalten oder Zellen basierend auf ihrer Position, ihren Attributen oder ihrem Inhalt zu finden.

  • Verwenden Sie XPath-Achsen wie „Ancestor“, „Descendant“ oder „Following-Sibling“, um die Tabellenstruktur zu durchlaufen und zum gewünschten Element zu navigieren
  • Extrahieren Sie die erforderlichen Daten aus Tabellenzellen mithilfe von XPath-Ausdrücken oder durch die Kombination von Achsen- mit Positions- oder Attributbedingungen.

  • Verarbeiten Sie die extrahierten Daten nach Bedarf (z. B. in einer Variablen speichern, Behauptungen ausführen oder ausgeben).

  • Führen Sie nach Bedarf weitere Vorgänge in der Tabelle durch, z. B. Sortieren, Filtern oder Suchen, indem Sie den XPath-Ausdruck entsprechend anpassen

  • Schließen Sie die Webbrowser-Sitzung mit dem WebDriver-Befehl

Example

的中文翻译为:

示例

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class TableExample {
   public static void main(String[] args) {
      // Set up WebDriver (Assuming ChromeDriver here)
      System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
      WebDriver driver = new ChromeDriver();

      // Navigate to the desired webpage
      driver.get("https://www.techlistic.com/2017/02/automate-demo-web-table-with-selenium.html");

      // Retrieve all cells of the table
      List<WebElementa>cells = driver.findElements(By.xpath("//table//tr//td"));

      // Iterate through each cell
      for (WebElement cell : cells) {
         String cellData = cell.getText();
         // Process the cell data as needed
         System.out.print(cellData + "\t");
      }

      // Close the browser
      driver.quit();
   }
}	

输出

Google   Maria Anders        Germany
Meta     Francisco Chang     Mexico
Microsoft    Roland Mendel    Austria
Island Trading    Helen Bennett    UK
Adobe    Yoshi Tannamuri     Canada
Amazon   Giovanni Rovelli     Italy

结论

在本教程中,我们学习到在使用Selenium WebDriver和Java处理静态网页表格时,有多种方法可以有效地处理它们。HTML表格结构方法允许您定位表格元素并使用适当的定位器(如By.tagName())迭代行和单元格。XPath轴方法通过使用XPath表达式在HTML结构中导航以找到所需的元素提供了灵活性。最后,CSS选择器提供了一种使用CSS选择器语法定位和操作表格元素的替代方法。

Das obige ist der detaillierte Inhalt vonWie verwende ich den Selenium WebDriver von Java, um statische Webformulare zu verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen