1

capybara-webkitからPoltergeistに移行しています。以前は、ここに表示されているようにカピバラ-ウェブキットとパフビリーを使用していました。

def use_proxy_with_vcr cassettes_name = nil, cassettes_options = {}
  page.driver.browser.set_proxy(:host => Billy.proxy.host, :port => Billy.proxy.port)
  page.driver.browser.ignore_ssl_errors
  Billy.proxy.strategy.use_cassette cassettes_name, cassettes_options
  yield
  Billy.proxy.strategy.reset
  page.driver.browser.clear_proxy
end

これは実行時に発生し、ポルターガイストでも同じことをしたいと思います。phantomjs_options( https://github.com/jonleighton/poltergeist#customization )を使用してcapybaraドライバーのセットアップにCLIオプションを渡すことで、プロキシを設定してsslエラーを無視できることに気付きました。

実行時にプロキシおよびSSLエラーを有効/無効にすることは可能ですか?はいの場合、どのように?

4

1 に答える 1

4

実行時にpoltergeistを介してphantomjsオプションを無効/有効にすることはできません(ただし、IIRCは一般的に可能であるため、機能をpoltergeistに追加できます)。

これを達成する最も簡単な方法は、新しいカピバラドライバーを登録することだと思います。例えば

Capybara.register_driver :proxied_poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, phantomjs_options: [...])
end

その後、を設定することにより、必要に応じてドライバーを使用できますCapybara.current_driver = :proxied_poltergeist。これにより、指定したCLIオプションを使用して別のphantomjsインスタンスが起動します。

于 2013-02-26T23:38:39.430 に答える