ホームページ  >  記事  >  Java  >  Java で Selenium WebDriver を使用して動的 Web フォームを処理するにはどうすればよいですか?

Java で Selenium WebDriver を使用して動的 Web フォームを処理するにはどうすればよいですか?

WBOY
WBOY転載
2023-09-05 22:53:02723ブラウズ

如何使用Java中的Selenium WebDriver处理动态Web表格?

動的な Web フォームの処理は、Web 自動化テストにおける最大のハードルの 1 つであることが多く、Selenium WebDriver を使用するとブラウザを効果的に自動化できます。 Web サイト要素と対話するための強力な機能セットにもかかわらず、動的テーブルを処理するには、データを効率的に抽出して検索するために追加のテクニックが必要です。この場合、Java は動的テーブルをシームレスに処理するためのさまざまなメソッドを提供します。

Java の Selenium WebDriver の適応性と機能を使用すると、テスターはセルまたは行間の対話を効率的かつ正確に自動化し、動的 ​​Web テーブルを効果的に利用できます。このチュートリアルでは、Selenium WebDriver を使用して動的テーブルを操作するための戦略とベスト プラクティス、特に Selenium WebDriver を通じて動的テーブルを効率的かつ正確にナビゲートする方法について説明します。

Selenium WebDriver

Selenium WebDriver は、Web ブラウザを自動化するために設計された Java ライブラリとして人気が高まっています。 Selenium WebDriver は、Web サイト要素と対話し、アクションを実行し、ページから情報を取得するための強力な API を備えており、ブラウザー セッションを自動化するための強力なソリューションを提供します。

Selenium WebDriver で Java を使用するには、まず各 Web ブラウザ (Chrome/Firefox など) に適した実行可能ドライバーをアセンブルし、Selenium の依存関係をプロジェクトに追加する必要があります。

構成が完了すると、WebDriver インターフェイスのインスタンスを作成し、Web ブラウザ ウィンドウを起動できます。ここから、findElement() や sendKeys() などのメソッドを使用してさまざまな URL に移動し、クリック、フォームの送信、データの抽出などのアクションを実行できます。

リーリー ###方法###

Selenium WebDriver を使用して Java で動的 Web フォームを処理するいくつかの方法を次に示します。

    XPath を使用する
  • CSSセレクターの使用

  • 方法 1: XPath を使用する

XPath は、Web サイトなどの XML ドキュメント内の要素を検索するためのエレガントで強力な言語です。 XPath は、Selenium WebDriver と Java を使用して動的 Web フォームを操作する場合に特に役立ちます。

動的 Web フォームを効果的に処理するには、まずその構造を調べて、XPath 式の構成要素として機能する個々の属性またはパターンを特定する必要があります。 Position()、contains()、starts-with() などの関数を使用すると、行や列の変更を処理し、さまざまな Web ページに適応できます。

XPath 式が完了すると、WebDriver は findElement() または findElements() メソッドを提供します。これらのメソッドは、式をロケーターとして使用し、その内容との効率的な対話を可能にします。

###アルゴリズム###

アクセスしたい動的 Web フォームの構造と要素を見つけて特定します。

  • 目的の要素を見つけるための XPath 式の作成に役立つ固有の属性またはパターンがないか確認します。
  • 決定された属性またはパターンに基づいて XPath 式を作成します。
  • WebDriver インスタンスをインスタンス化し、動的テーブルをホストしている Web サイトに移動します。
  • WebDriver の findElements() メソッドを使用して XPath 式をロケーターとして渡します
  • XPath 式に一致する要素をリストとして取得する

  • ユーザーは要素のリストを参照して、必要なデータにアクセスしたり、必要なアクションを実行したりできます。

  • プロセス全体で発生する例外やエラーを処理する
  • 動的 Web フォームの使用が終了したら、WebDriver を閉じて閉じます。

  • ###例### リーリー

    「path/to/chromedriver」は、システム上の ChromeDriver 実行可能ファイルの実際の場所に置き換える必要があることに注意してください。

  • ###出力### リーリー
CSS セレクターの使用方法

CSS セレクターは、Selenium WebDriver と Java を使用して動的 Web フォームを操作するときに、要素をすばやく見つける効率的な方法を提供します。テーブルの構造を注意深く観察すると、クラス名、要素タイプ、属性値など、CSS セレクターを使用してターゲットにできる特定の属性やパターンを識別できます。これらはすべて役に立ちます。要素に簡単にアクセスできるようにします。

WebDriver の findElement() または findElements() メソッドは、CSS セレクターをロケーター要素として渡すことで、動的 Web テーブル内の要素を効率的に検索する方法を提供し、対話する必要な要素と効率的に対話できるようにします。 ###アルゴリズム###

CSS セレクターを使用して、動的 Web テーブル構造内の一意の属性またはパターンを見つけます。

決定されたプロパティまたはパターンに基づいて CSS セレクターを作成します。

  • WebDriver を初期化し、動的な Web フォームを備えた Web サイトに移動します。
  • WebDriver の findElements() メソッドを使用し、CSS セレクターをロケーターとして使用して、その findElements() 機能を使用します。
  • CSS セレクターに一致する要素のリストをできるだけ迅速かつ効率的に取得します。

  • 要素のリストを参照して、必要な情報にアクセスするか、必要な手順を実行します。
  • プロセス中に発生した例外やエラーを処理します。
  • 完成动态网页表格的工作后,关闭WebDriver。

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

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

      // Create ChromeDriver instance
      WebDriver driver = new ChromeDriver();

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

      // Locate the table element
      WebElement table = driver.findElement(By.cssSelector("tsc_table_s13"));

      // Find all rows in the table
      List<WebElement> rows = table.findElements(By.cssSelector("tr"));

      // Iterate through each row and print cell values
      for (WebElement row : rows) {
         List<WebElement> cells = row.findElements(By.cssSelector("td"));
         for (WebElement cell : cells) {
            String cellText = cell.getText();
            System.out.println(cellText);
         }
      }

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

输出

Structure
Country
City
Height
Built	
Rank
…
Burj Khalifa	
UAE	
Dubai	
829m	
2010	
1	
Clock Tower Hotel	
Saudi Arabia	
Mecca	
601m	
2012	
2	
Taipei 
101	
Taiwan	
Taipei	
509m	
2004	
3	
Financial Center	
China	
Shanghai	
492m	
2008	
4

结论

在本教程中,我们已经看到,在Java中使用Selenium WebDriver管理动态Web表格是Web自动化和数据提取任务中的关键技能。通过使用XPath或CSS选择器等定位器,开发人员可以快速定位表格元素,并有效地导航行和列以提取相关数据。

动态网页表格使得能够高效处理大量的信息,并根据特定条件采取适当的行动,提取有价值的数据以供进一步分析、存储或验证。通过正确理解和执行Java中的Selenium WebDriver,开发人员能够在使用Selenium WebDriver自动化各种工作流程时有效地处理动态表格-通过Selenium WebDriver自动化数据驱动的工作流程

以上がJava で Selenium WebDriver を使用して動的 Web フォームを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。