HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

SeleniumでWebElementのHTMLコード(innerHTML)を取得する方法を解説

Selenium WebDriverを使えば、Webページ上の任意の要素(WebElement)のHTMLコードを簡単に取得できます。その鍵となるのが、要素のinnerHTML属性です。

innerHTMLとは、要素の開始タグと終了タグの間に存在するコンテンツ(HTMLソース)を指す属性です。この値を取得するには、getAttributeメソッドを使用し、引数として「innerHTML」を渡します。

構文

String s = element.getAttribute("innerHTML");

例として、次のようなHTML要素を考えてみましょう。

<h4>You are browsing the best resource for <b>Online Education</b></h4>

この場合、h4要素のinnerHTMLは「You are browsing the best resource for <b>Online Education</b>」となります。つまり、タグ自体ではなく、タグの内側にあるテキストや子要素まで含めたHTMLが取得される点に注意してください。

実装例

以下は、JavaでSelenium WebDriverを使って実際にinnerHTMLを取得するサンプルコードです。

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.By;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebElement;

public class HtmlCodeElement {
    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "C:\\Users\\ghs6kor\\Desktop\\Java\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
        driver.get("https://www.tutorialspoint.com/index.htm");

        // 要素を特定
        WebElement l = driver.findElement(By.cssSelector("h4"));

        // getAttributeメソッドでinnerHTMLを取得
        String s = l.getAttribute("innerHTML");
        System.out.println("HTML code of element: " + s);

        driver.close();
    }
}

コードのポイント

  • chromedriverのパス設定:System.setPropertyでChromeDriverの実行ファイルへのパスを指定します。
  • 暗黙的待機:implicitlyWaitを設定することで、要素が見つかるまで最大5秒待機し、安定したテストを実現します。
  • 要素の特定:By.cssSelector("h4")により、ページ内の最初のh4要素を取得しています。
  • innerHTMLの取得:getAttribute("innerHTML")の戻り値を文字列として受け取り、コンソールに出力します。

実行結果

上記のコードを実行すると、コンソールに以下のように対象要素のHTMLコードが出力されます。

HTML code of element: You are browsing the best resource for <b>Online Education</b>

なお、タグを含まない表示用のテキストだけが必要な場合は「textContent」を、開始タグから終了タグまで要素全体のHTMLが必要な場合は「outerHTML」を引数に指定することでも同様に取得できます。用途に応じて使い分けると便利です。

  1. HTMLコードで動画を埋め込む方法|iframeタグの使い方をわかりやすく解説

    HTMLページに動画を埋め込むには、<iframe>要素を使用します。src属性には動画のURL(埋め込みリンク)を指定し、width属性とheight属性で動画プレーヤーのサイズを適切に設定しましょう。動画の埋め込みリンクとは?ここでいう「動画のURL」とは、動画そのものへのリンクではなく、埋め込み用リンクのことです。本記事では、例として最も利用されているYouTubeの動画を埋め込む手順を紹介します。埋め込みリンクを取得するには、まずYouTubeで対象の動画を開き、以下の手順で操作します。動画下部にある「共有」ボタンをクリックする表示されたメニューから「埋め込む」を選択する埋

  2. PythonとSelenium WebDriverでWebElementのHTMLソースを取得する方法

    Selenium WebDriverを使えば、ページ上の任意のWebElement(Web要素)のHTMLソースを簡単に取得できます。最も基本的な方法は、要素が持つinnerHTML属性を取得することです。innerHTMLは、開始タグと終了タグの間に存在する内容(内部のHTMLマークアップを含む)に相当する属性です。取得にはget_attributeメソッドを使用し、引数として「innerHTML」を渡します。構文s = element.get_attribute(innerHTML)もう一つの方法として、JavaScript Executorを利用してHTMLソースを取得することもできます