我正在尝试设置请求 header “Referer”来欺骗来自其他站点的请求。我们需要进行使用特定引用者的能力测试,该引用者将返回特定的表单给用户,否则给出替代的表单。
我可以通过以下方式在 poltergeist 中执行此操作:
page.driver.headers = {"Referer" => referer_string}
但我找不到 selemium 驱动程序的等效功能。
如何在 capybara selenium 驱动程序中设置请求 header ?
最佳答案
Webdriver 不包含执行此操作的 API。请参阅issue 141 from Selenium tracker了解更多信息。该问题的标题说它与响应 header 有关,但决定 Selenium 不会在此问题范围内包含请求 header 的 API。有关添加 API 来设置请求 header 的几个问题已被标记为重复项:first , second , third .
以下是我可以提出的几种可能性:
- 使用另一个驱动程序/库代替 selenium
- 编写一个特定于浏览器的插件(或查找现有插件),以允许您添加请求 header 。
- 使用browsermob-proxy或其他一些代理。
在大多数情况下我会选择选项 3。这并不难。
请注意Ghostdriver has an API for it但其他驱动程序不支持它。
关于webdriver - 在selenium中设置请求头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15645093/