【问题标题】:Testing with watir chromedriver failed with Sec-Fetch-User in Request Headers使用 watir chromedriver 进行测试失败,请求标头中的 Sec-Fetch-User
【发布时间】:2019-10-21 19:40:50
【问题描述】:

我正在使用 watir 测试内部应用程序。测试最近停止工作。

这些是测试的简化步骤:

require 'watir'
Selenium::WebDriver::Chrome.path = 'PATH_TO_CHROME_EXE'
browser = Watir::Browser.new :chrome, :options => {:options => {'useAutomationExtension' => false}}
URL = "TEST_URL"
browser.goto URL

执行 goto 行后,浏览器无法导航到该页面。检查网络活动时,请求状态显示为已取消。我还注意到标题中填充了“Sec-Fetch-User”字段:

Sec-Fetch-Mode: navigate
**Sec-Fetch-User: ?1**
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)         Chrome/77.0.3865.90 Safari/537.36

如果我直接在浏览器中输入测试 URL,该字段不会填充,并且会弹出登录。

这是我的设置:

jruby 9.2.5.0 (2.5.0) 2018-12-06 6d5a228 Java HotSpot(TM) 64-Bit Server VM 25.102-b14 on 1.8.0_102-b14 +jit [mswin32-x86_64]
Version 77.0.3865.90 (Official Build) (64-bit)
Watir 6.16.5
ChromeDriver 77.0.3865.40 (f484704e052e0b556f8030b65b953dce96503217-refs/branch-heads/3865@{#442})

有没有人遇到过类似的问题?是否可以抑制标题?

史蒂夫

【问题讨论】:

    标签: selenium-chromedriver watir


    【解决方案1】:

    我遇到了与 Sec-Fetch-User: ?1 完全相同的问题。

    我可以加载我想要的网页的唯一方法是放弃 chromedriver 并改用 firefox 驱动程序。 Firefox 没有发送这些标头。

    我认为,如果您确实需要使用 chromedriver,并且如果您需要更改标头,则可以使用 https://github.com/lightbody/browsermob-proxy 之类的代理

    【讨论】:

      猜你喜欢
      • 2021-05-28
      • 2020-05-08
      • 2022-07-21
      • 1970-01-01
      • 2023-01-08
      • 1970-01-01
      • 2016-03-03
      • 2010-10-09
      • 2019-09-17
      相关资源
      最近更新 更多