Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> HTML

วิธีดึงโค้ด HTML ของ WebElement ใน Selenium

สามารถดึงโค้ด HTML ภายในของ WebElement ได้โดยใช้เมธอด getAttribute("innerHTML") ซึ่งจะคืนค่าข้อความระหว่างแท็กเปิดและแท็กปิดขององค์ประกอบนั้นๆ

ไวยากรณ์ (Syntax)

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

ตัวอย่างโค้ด Java สมบูรณ์

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:\\path\\to\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
        driver.get("https://www.example.com");

        // ระบุองค์ประกอบ (ตัวอย่าง: แท็ก h4)
        WebElement element = driver.findElement(By.cssSelector("h4"));

        // ดึง innerHTML
        String html = element.getAttribute("innerHTML");
        System.out.println("HTML code of element: " + html);

        driver.close();
    }
}

ผลลัพธ์ตัวอย่าง

หาก HTML เป็น <h4>You are browsing the best resource for <b>Online Education</b></h4>

ผลลัพธ์จะได้: You are browsing the best resource for <b>Online Education</b>

วิธีทางเลือก: ใช้ JavaScript Executor

JavascriptExecutor js = (JavascriptExecutor) driver;
String html = (String) js.executeScript("return arguments[0].innerHTML;", element);

ความแตกต่างระหว่าง innerHTML และ outerHTML

Property คำอธิบาย ตัวอย่างผลลัพธ์
innerHTML เนื้อหาภายในแท็ก (ไม่รวมแท็กตัวเอง) Hello <b>World</b>
outerHTML โค้ด HTML ทั้งหมดรวมแท็กตัวเอง <div>Hello <b>World</b></div>