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

การเข้าถึง HTML Source Code ด้วย Python Selenium

ใน Python Selenium สามารถดึงซอร์สโค้ด HTML ของหน้าเว็บได้ 2 วิธีหลัก

วิธีที่ 1: ใช้ page_source

html = driver.page_source

วิธีที่ 2: ใช้ JavaScript Executor

html = driver.execute_script("return document.body.innerHTML;")

ตัวอย่างโค้ดสมบูรณ์ (วิธีที่ 1)

from selenium import webdriver

driver = webdriver.Chrome(executable_path="C:\\chromedriver.exe")
driver.implicitly_wait(0.5)
driver.get("https://www.example.com")

# ดึง HTML ด้วย page_source
html = driver.page_source
print(html)

driver.quit()

ตัวอย่างโค้ดสมบูรณ์ (วิธีที่ 2)

from selenium import webdriver

driver = webdriver.Chrome(executable_path="C:\\chromedriver.exe")
driver.implicitly_wait(0.5)
driver.get("https://www.example.com")

# ดึง HTML ด้วย JavaScript
html = driver.execute_script("return document.body.innerHTML;")
print(html)

driver.quit()

ความแตกต่างระหว่าง 2 วิธี

คุณสมบัติ page_source execute_script (innerHTML)
เนื้อหาที่ได้ HTML ต้นฉบับที่โหลดมา (รวม <head>, <html>) HTML ปัจจุบันใน DOM (หลัง JavaScript ทำงาน)
รองรับ Dynamic Content ไม่รองรับ (เป็นต้นฉบับจาก Server) รองรับ (ได้ HTML หลัง render แล้ว)
ประสิทธิภาพ เร็วกว่า ช้ากว่าเล็กน้อย

คำแนะนำ

  • ใช้ page_source สำหรับดู HTML ต้นฉบับ/ดิบ
  • ใช้ execute_script เมื่อต้องการ HTML หลังจาก JavaScript แทรกสร้าง/เปลี่ยนแปลง DOM
  • ใน Selenium 4 แนะนำใช้ driver.page_source โดยตรง ไม่ต้องระบุ executable_path