Mitmdump 不适用于 selenium-webDriver

Mitmdump does not working with selenium-webDriver

我将 Selenium::WebDriver::Remote::Capabilities.chrome 和 chrome 选项与 --proxy-server 一起使用(mitmdump 像代理服务器一样使用)。但是当我运行代码去查ip的时候,还是我的

args = [
      "mitmdump",
      "--listen-host", "127.0.0.1",
      "--listen-port", @port,
      "--mode", "upstream:http://#{proxy.ip}:#{proxy.port}",
      "--upstream-auth", #{proxy.login}:#{proxy.password}
    ]

server = ChildProcess.build(*args)
server.start
raise "Oops" unless server.alive?

Capybara.register_driver :selenium do |app|
      caps = Selenium::WebDriver::Remote::Capabilities.chrome(
        "chromeOptions" => {
          "args" => [
            "--headless",
            "--proxy-server=http://127.0.0.1:@port",
            "--disable-dev-shm-usage",
            "--blink-settings=imagesEnabled=true",
            "window-size=1440,900",
            "--no-sandbox"
          ]
        }
      )
      Capybara::Selenium::Driver.new(app, browser: :chrome, desired_capabilities: caps)
    end

    Capybara.javascript_driver = :chrome
    Capybara.configure do |config|
      config.default_max_wait_time = 20
      config.default_driver = :selenium
    end

    session = Capybara::Session.new(:selenium)

    session.visit("https://www.2ip.ru")

最新的 Selenium/Chrome 组合默默地忽略了 "chromeOptions" 选项,新的语法是 "goog:chromeOptions" https://github.com/SeleniumHQ/docker-selenium/issues/674