Maison > Java > javaDidacticiel > Comment utiliser Selenium WebDriver en Java pour traiter des formulaires Web statiques ?

Comment utiliser Selenium WebDriver en Java pour traiter des formulaires Web statiques ?

PHPz
Libérer: 2023-08-18 23:29:07
avant
1250 Les gens l'ont consulté

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

Lorsque vous utilisez Selenium WebDriver pour traiter des formulaires Web statiques en Java, vous devez suivre une série d'étapes pour extraire les données pertinentes et exploiter les composants du formulaire. Les premières étapes consistent à localiser le formulaire sur la page Web à l’aide de l’identifiant approprié. Une fois localisées, les lignes et colonnes individuelles sont accessibles via des balises HTML telles que

Les données des tables Web peuvent être extraites et stockées pour un traitement ultérieur en analysant de manière itérative chaque ligne et colonne. De plus, vous pouvez effectuer des actions telles que cliquer sur une cellule spécifique ou vérifier la présence de données spécifiques dans un tableau. L'automatisation peut être utilisée pour gérer plus efficacement les formulaires Web statiques en utilisant Se-lenium WebDriver et Java.

La traduction de

Web Tables

en chinois est :

Web Tables

Lorsque vous utilisez Selenium WebDriver pour traiter des formulaires Web en Java, vous devez interagir avec les formulaires HTML sur la page Web. Pour positionner les éléments du tableau de manière appropriée, utilisez les localisateurs appropriés. Une fois la table localisée, utilisez la méthode `findElements()` pour récupérer toutes les lignes et les parcourir. Utilisez à nouveau la méthode `findElements()` dans cette boucle pour accéder à chaque colonne de chaque ligne. Les données requises pour chaque colonne peuvent ensuite être extraites via des méthodes telles que `getText()` ou `getAttribute()`

WebDriver driver = new ChromeDriver();
Copier après la connexion

Méthode

En Java, plusieurs techniques sont disponibles pour traiter les formulaires Web statiques à l'aide de Selenium WebDriver. Les méthodes suivantes peuvent être utilisées :

    Utiliser la structure des tableaux HTML

  • Utilisez l'axe XPath

Utiliser la structure de tableau HTML

Lorsque vous utilisez Selenium WebDriver et Java pour traiter des tables Web statiques, vous pouvez profiter de la méthode de structure de table HTML. Tout d’abord, identifiez l’élément de table par son identifiant unique ou tout attribut HTML pertinent. Une fois la table localisée, les commandes WebDriver peuvent être utilisées pour extraire les lignes et les colonnes du tableau et effectuer une itération selon les besoins. Récupérez des valeurs de cellule spécifiques en référençant leur index de ligne et de colonne

De plus, vous pouvez effectuer des opérations liées aux tableaux telles que le tri par colonnes, le filtrage ou la recherche de données spécifiques. En tirant parti de la puissance de la programmation WebDriver et Java, vous pouvez interagir efficacement avec des formulaires Web statiques, extraire des données et effectuer diverses opérations de manière transparente.

Algorithme

  • Lancez votre navigateur Web à l'aide de WebDriver

  • Accédez à la page Web souhaitée contenant le tableau Web statique

  • Localisez les éléments du tableau à l'aide des commandes WebDriver appropriées (par exemple par ID, classe, XPath, etc.)

  • Extraire les lignes du tableau en recherchant tous les éléments "tr" du tableau

  • Utilisez une boucle pour parcourir les lignes.

  • Dans chaque ligne, extrayez la cellule du tableau (élément "td") ou la cellule d'en-tête (élément "th") selon vos besoins

  • Effectuez les opérations souhaitées sur les données cellulaires (par exemple, récupérer du texte, valider les valeurs, etc.)

  • En option, effectuez d'autres opérations sur le tableau telles que le tri, le filtrage ou la recherche.

La traduction chinoise de

Exemple

est :

Exemple

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();
   }
}
Copier après la connexion

Sortie

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
Copier après la connexion
Copier après la connexion

Utilisez l'axe XPath

Pour travailler avec des tableaux Web statiques à l'aide de Selenium WebDriver et Java, vous pouvez profiter des axes XPath, qui offrent un moyen puissant de naviguer et d'interagir avec les éléments du tableau. En tirant parti des axes XPath, vous pouvez localiser des lignes, des colonnes ou des cellules spécifiques dans une structure de tableau. Les axes "ancêtre", "descendant" et "frère suivant" sont particulièrement utiles dans ce cas.

Par exemple, pour extraire les lignes d'un tableau, vous pouvez utiliser l'expression XPath "//table//tr". Pour récupérer une cellule spécifique dans une ligne, vous pouvez utiliser la ligne XPath avec l'axe "td", par exemple "//table//tr[position()=2]//td[position()=3]". Les axes XPath offrent flexibilité et précision lorsque vous travaillez avec des structures de tables complexes, vous permettant de travailler efficacement avec des tables Web statiques et d'extraire exactement les données dont vous avez besoin.

Algorithme

  • Lancez votre navigateur Web à l'aide de WebDriver

  • Accédez à la page Web souhaitée contenant le tableau Web statique

  • Construisez des expressions XPath appropriées pour localiser des tableaux, des lignes, des colonnes ou des cellules en fonction de leur position, de leurs attributs ou de leur contenu.

  • Utilisez les axes XPath tels que "ancêtre", "descendant" ou "frère suivant" pour parcourir la structure du tableau et accéder à l'élément souhaité.

  • Extrayez les données requises des cellules du tableau à l'aide d'expressions XPath ou en combinant l'axe avec des conditions de position ou d'attribut.

  • Traitez les données extraites selon vos besoins (par exemple, stockez-les dans une variable, effectuez des assertions ou une sortie)

  • Effectuez d'autres opérations sur la table telles que le tri, le filtrage ou la recherche selon vos besoins en ajustant l'expression XPath en conséquence

  • Fermez la session du navigateur Web à l'aide de la commande WebDriver

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();
   }
}	
Copier après la connexion

输出

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
Copier après la connexion
Copier après la connexion

结论

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal