1

selenium-webdriver [ruby bindings][1] を使用して、プロキシの構成と HTTP 基本認証を必要とする内部 Web サイトにアクセスしようとしています。

私は現在持っています:

  require "selenium-webdriver"
  driver = Selenium::WebDriver.for :firefox
  driver.navigate.to "http://my-internal-site.com"

しかし、これはプロキシと http 認証の問題の両方が原因で失敗します。ユーザー名とパスワードを URL に追加すると (つまりhttp://username:password@site.com)、プロキシを必要としない別のサイトで基本認証を行うことができますが、これは理想的なソリューションとは思えません。

助言がありますか?

4

4 に答える 4

2

残念ながらhttp://username:password@site.com、これは標準的な方法でしたが、このアプローチをブロックするブラウザーが増えています。BrowserMob の Patrick Lightbody は、同社のブログで、どのように機能させるかについて説明しました。

于 2009-12-22T20:57:10.117 に答える
0

私は AutoIt でこのアプローチを試しましたが、Selenium 2.18.0 までは問題なく動作しました。これは、UnhandledAlertException が実装されているためです。これは、プロキシ ログイン ダイアログがポップアップするとすぐにスローされます。それをキャッチしようとすると、driver=null になってしまいます。ドライバーを作成する試行をループし、AutoIt スクリプトを信頼してウィンドウを強制終了する必要があります。

于 2012-02-03T21:54:37.700 に答える
0

WebDriver (または Selenium) のブラウザ間でこれが完全にサポートされるまでは、別のオプションとして、デスクトップ GUI 自動化ツールと統合し、デスクトップ GUI ツールが HTTP 認証部分を自動化することをお勧めします。「Selenium AutoIt」などをグーグルで検索すると、これまたはファイルのダウンロード、アップロードの例がおそらく見つかるでしょう。

クロス プラットフォーム ソリューションの場合は、AutoIt を Sikuli などに置き換えます。

于 2011-07-24T04:59:07.407 に答える
0

を使用している場合はGoogle-Chrome、カスタム拡張機能を作成して、 経由でインポートしてみてくださいChromeOptions。Chromeではサポートhttp(s)されていなかった機能をサポートします。browsermob_proxyリダイレクトのテストの場合、これが現時点で役立つ唯一の方法です...

詳細については、この投稿を確認して ください https://devopsqa.wordpress.com/2018/08/05/handle-basic-authentication-in-selenium-for-chrome-browser/

于 2018-08-05T10:29:20.560 に答える