使用Python与Selenium访问本地保存网页的代码调整问询
实现Selenium访问本地HTML文件的修改方案
Selenium的get()方法本身支持file://协议的本地路径,仅需要把原本传入的在线URL替换为本地网页对应的file协议路径即可完成调整。
具体修改步骤
- 先获取你本地保存的HTML文件的绝对路径,注意区分Windows和macOS/Linux的路径格式差异
- 给绝对路径拼接
file://前缀,Windows系统的路径分隔符可以用/或者转义后的\\,比如路径C:\test\login_page.html对应的file路径为file://C:/test/login_page.html - 替换原有
driver.get()方法的参数即可
适配不同系统的代码示例
推荐使用Python内置的路径处理模块自动拼接路径,避免手动写路径出现格式错误:
from selenium import webdriver import os # 通用写法:自动获取文件绝对路径拼接协议前缀 local_html_path = os.path.abspath("你保存的本地网页文件名.html") # 网页不在脚本当前目录的话填写完整路径 driver = webdriver.Chrome() driver.get(f"file://{local_html_path}") # Windows系统手动写路径参考 # driver.get("file://C:/Users/xxx/Desktop/test_page.html") # macOS/Linux系统手动写路径参考 # driver.get("file:///home/xxx/Documents/test_page.html")
注意事项
- 不要直接传入相对路径到
driver.get(),必须先转为绝对路径并拼接file://前缀,否则Selenium会将路径识别为网络地址无法正常加载 - 如果本地网页依赖的CSS、JS、图片等资源也保存在本地,只要相对路径和网页源码内引用的路径匹配,Selenium可以正常加载渲染,和访问在线页面效果一致
- 你保存网页时如果选择的是「单个文件.mhtml」格式,Selenium也支持直接用file协议访问,无需额外调整
内容的提问来源于stack exchange,提问作者SSerb1989
相关产品推荐
相关产品推荐

