Rumah  >  Artikel  >  Java  >  Bagaimana untuk menggunakan Selenium WebDriver dalam Java untuk memproses borang web statik?

Bagaimana untuk menggunakan Selenium WebDriver dalam Java untuk memproses borang web statik?

PHPz
PHPzke hadapan
2023-08-18 23:29:071217semak imbas

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

Apabila menggunakan Selenium WebDriver untuk memproses borang web statik di Java, anda mesti mengikuti satu siri langkah untuk mengekstrak data yang berkaitan dan mengendalikan komponen borang. Langkah awal melibatkan pengesanan borang pada halaman web menggunakan pengecam yang sesuai. Setelah ditemui, baris dan lajur individu boleh diakses melalui teg HTML seperti a34de1251f0d9fe1e645927f19a896e8

Data daripada jadual web boleh diekstrak dan disimpan untuk pemprosesan selanjutnya dengan mengimbas secara berulang setiap baris dan lajur. Selain itu, anda boleh melakukan tindakan seperti mengklik pada sel tertentu atau mengesahkan kehadiran data tertentu dalam jadual. Automasi boleh digunakan untuk mengurus borang web statik dengan lebih cekap dengan menggunakan Se-lenium WebDriver dan Java

Terjemahan

Web Tables

ke dalam bahasa Cina ialah:

Web Tables

Apabila menggunakan Selenium WebDriver untuk memproses borang web dalam Java, anda mesti berinteraksi dengan borang HTML pada halaman web. Untuk meletakkan elemen jadual dengan betul, gunakan pencari yang sesuai. Setelah jadual ditemui, gunakan kaedah `findElements()` untuk mendapatkan semula semua baris dan gelung melaluinya. Gunakan kaedah `findElements()` sekali lagi dalam gelung ini untuk mengakses setiap lajur setiap baris. Data yang diperlukan untuk setiap lajur kemudiannya boleh diekstrak melalui kaedah seperti `getText()` atau `getAttribute()`

WebDriver driver = new ChromeDriver();

Kaedah

Di Java, terdapat pelbagai teknik yang tersedia untuk memproses borang web statik menggunakan Selenium WebDriver. Kaedah berikut boleh digunakan:

    Gunakan struktur jadual HTML
  • Gunakan paksi XPath

Gunakan struktur jadual HTML

Apabila menggunakan Selenium WebDriver dan Java untuk memproses jadual web statik, anda boleh memanfaatkan kaedah struktur jadual HTML. Mula-mula, kenal pasti elemen jadual dengan pengecam uniknya atau sebarang atribut HTML yang berkaitan. Sebaik sahaja jadual berada, arahan WebDriver boleh digunakan untuk mengekstrak baris dan lajur jadual dan lelaran mengikut keperluan. Dapatkan nilai sel tertentu dengan merujuk indeks baris dan lajurnya

Selain itu, anda boleh melakukan operasi berkaitan jadual seperti mengisih mengikut lajur, menapis atau mencari data tertentu. Dengan memanfaatkan kuasa pengaturcaraan WebDriver dan Java, anda boleh berinteraksi dengan cekap dengan borang web statik, mengekstrak data dan melaksanakan pelbagai operasi dengan lancar

Algoritma

  • Lancarkan pelayar web anda menggunakan WebDriver

  • Navigasi ke halaman web yang diingini yang mengandungi jadual web statik

  • Cari elemen jadual menggunakan arahan WebDriver yang sesuai (cth. mengikut ID, kelas, XPath, dll.)

  • Ekstrak baris jadual dengan mencari semua elemen "tr" dalam jadual

  • Gunakan gelung untuk mengulangi baris.

  • Dalam setiap baris, ekstrak sel jadual (elemen "td") atau sel pengepala (elemen "th") mengikut keperluan
  • Lakukan operasi yang diingini pada data sel (cth. dapatkan semula teks, sahkan nilai, dsb.)

  • Secara pilihan, lakukan operasi lain di atas meja seperti menyusun, menapis atau mencari.

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

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();
   }
}

Output

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

Gunakan paksi Xpath

Untuk bekerja dengan jadual web statik menggunakan Selenium WebDriver dan Java, anda boleh memanfaatkan paksi XPath, yang menyediakan cara yang berkuasa untuk menavigasi dan berinteraksi dengan elemen jadual. Dengan memanfaatkan paksi XPath, anda boleh mencari baris, lajur atau sel tertentu dalam struktur jadual. Dalam kes ini, paksi "nenek moyang", "keturunan" dan "adik-beradik mengikut" amat berguna

Sebagai contoh, untuk mengekstrak baris jadual, anda boleh menggunakan ungkapan XPath "//table//tr". Untuk mendapatkan semula sel tertentu dalam satu baris, anda boleh menggunakan baris XPath dengan paksi "td", contohnya "//table//tr[position()=2]//td[position()=3]". Paksi XPath memberikan fleksibiliti dan ketepatan apabila bekerja dengan struktur jadual yang kompleks, membolehkan anda bekerja dengan cekap dengan jadual web statik dan mengekstrak data yang anda perlukan dengan tepat

Algoritma

  • Lancarkan pelayar web anda menggunakan WebDriver

  • Navigasi ke halaman web yang diingini yang mengandungi jadual web statik

  • Bina ungkapan XPath yang sesuai untuk mencari jadual, baris, lajur atau sel berdasarkan kedudukan, atribut atau kandungannya.

  • Gunakan paksi XPath seperti "nenek moyang", "keturunan" atau "adik-beradik yang mengikuti" untuk melintasi struktur jadual dan menavigasi ke elemen yang dikehendaki
  • Ekstrak data yang diperlukan daripada sel jadual menggunakan ungkapan XPath atau dengan menggabungkan paksi dengan keadaan kedudukan atau atribut.

  • Proses data yang diekstrak mengikut keperluan (cth. simpan dalam pembolehubah, lakukan penegasan atau output)

  • Lakukan operasi lain di atas meja seperti menyusun, menapis atau mencari mengikut keperluan dengan melaraskan ungkapan XPath dengan sewajarnya

  • Tutup sesi pelayar web menggunakan arahan 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();
   }
}	

输出

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选择器语法定位和操作表格元素的替代方法。

Atas ialah kandungan terperinci Bagaimana untuk menggunakan Selenium WebDriver dalam Java untuk memproses borang web statik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam