Selenium如何实现BeautifulSoup的prettify()格式化HTML功能?
在Selenium中输出格式化HTML用于调试的方法
结合BeautifulSoup实现
既然你已经熟悉BeautifulSoup的prettify(),可以直接把Selenium获取的页面源码传给BeautifulSoup处理:from bs4 import BeautifulSoup from selenium import webdriver driver = webdriver.Chrome() driver.get("目标URL") # 获取页面源码 page_source = driver.page_source # 用BeautifulSoup格式化 soup = BeautifulSoup(page_source, "html.parser") print(soup.prettify()) driver.quit()使用lxml库格式化
如果不想依赖BeautifulSoup,也可以用lxml库的etree模块来格式化HTML:from lxml import etree from selenium import webdriver driver = webdriver.Chrome() driver.get("目标URL") page_source = driver.page_source # 解析HTML并格式化 tree = etree.HTML(page_source) formatted_html = etree.tostring(tree, pretty_print=True, encoding="unicode") print(formatted_html) driver.quit()直接调用浏览器JS获取格式化输出
还可以通过Selenium执行JavaScript,让浏览器直接返回格式化后的HTML:from selenium import webdriver driver = webdriver.Chrome() driver.get("目标URL") # 执行JS获取格式化的HTML formatted_html = driver.execute_script("return new XMLSerializer().serializeToString(document);") print(formatted_html) driver.quit()
内容的提问来源于stack exchange,提问作者LLaP
相关产品推荐
相关产品推荐

