如何在Firefox-Selenium中添加“From”请求头?
Selenium 自定义添加「From」请求头实现方案
Firefox 没有内置的 about:config 配置项可以直接预设 From 请求头,可通过以下方案实现需求,覆盖你提到的三类浏览器:
Firefox 实现方式
方案1:Selenium 4+ 调用 DevTools API(推荐,无需额外扩展)
直接调用浏览器原生开发者工具接口注入全局请求头,示例代码如下:
from selenium import webdriver from selenium.webdriver.firefox.options import Options options = Options() driver = webdriver.Firefox(options=options) # 启用Network模块并添加自定义请求头 driver.execute_cdp_cmd("Network.enable", {}) driver.execute_cdp_cmd("Network.setExtraHTTPHeaders", { "headers": { "From": "your-email@example.com" } })
方案2:低版本Selenium 配合Modify Headers扩展
如果使用的是Selenium 3及更早版本,可通过加载Firefox扩展实现:
- 先下载Modify Headers扩展的xpi安装包
- 通过FirefoxProfile加载扩展并配置固定From头即可
Chrome 实现方式
同样推荐用Selenium 4+的DevTools接口实现,逻辑和Firefox完全一致,仅初始化driver的代码替换为Chrome相关配置即可:
from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() driver = webdriver.Chrome(options=options) driver.execute_cdp_cmd("Network.enable", {}) driver.execute_cdp_cmd("Network.setExtraHTTPHeaders", { "headers": { "From": "your-email@example.com" } })
PhantomJS 实现方式
PhantomJS支持直接在启动参数中配置全局请求头:
from selenium import webdriver driver = webdriver.PhantomJS(service_args=[ '--headers={"From": "your-email@example.com"}' ])
注意:需确保填入的邮箱格式符合RFC标准,避免部分网站校验不通过丢弃该请求头。
内容的提问来源于stack exchange,提问作者Pawel Kam
相关产品推荐
相关产品推荐

