Python版Selenium:如何导出当前页面的HTML代码?
获取Selenium当前页面HTML的方法
嘿,其实这个操作超简单,只是page_source是WebDriver的属性而非方法,所以可能在文档的方法列表里没一眼看到~
1. 获取整个页面的完整HTML(最常用)
直接调用WebDriver实例的page_source属性就能拿到当前页面的全部渲染后HTML源码,完美用于调试:
from selenium import webdriver # 初始化浏览器驱动 driver = webdriver.Chrome() driver.get("你的目标页面URL") # 拿到完整HTML full_page_html = driver.page_source # 保存到本地文件,方便后续调试查看 with open("debug_page.html", "w", encoding="utf-8") as file: file.write(full_page_html) driver.quit()
2. 获取特定元素的HTML
如果只需要页面中某个元素的代码(包括元素自身标签),可以用元素的get_attribute('outerHTML')方法;要是只需要元素内部的内容(不含自身标签),就用innerHTML:
from selenium.webdriver.common.by import By # 定位目标元素 target_element = driver.find_element(By.ID, "target-element-id") # 获取元素完整HTML(含自身标签) element_full_html = target_element.get_attribute('outerHTML') # 获取元素内部HTML(不含自身标签) element_inner_html = target_element.get_attribute('innerHTML')
这两种方式拿到的都是Selenium实际捕获到的页面实时状态,比手动右键查看源码更准确,调试页面渲染、元素加载问题时特别好用~
内容的提问来源于stack exchange,提问作者James Ko
相关产品推荐
相关产品推荐

