3

Linux上のJavaでWebDriver(Selenium2)を使用しています。WebDriver を使用してフォームを自動入力して送信しています。htaccess サイトで問題に直面しています。つまり、WebDriver を介して htaccess サイトにアクセスできません。

この点で誰かが私を助けることができますか?

前もってありがとう、スニル

4

5 に答える 5

12

Selenium FAQから(現時点ではダウンしています):

Selenium を使用して、HTTP 基本認証を必要とするサイトにログインするにはどうすればよいですか (ブラウザーが資格情報を求めるモーダル ダイアログを作成する場合)。


RFC 1738: Test Type open http://myusername:myuserpassword@myexample.com/blah/blah/blahで説明されているように、URL でユーザー名とパスワードを使用します。

Internet Explorer では、Microsoft が IE の URL でユーザー名/パスワードを無効にしているため、これは機能しないことに注意してください。ただし、リンクされた KB 記事で説明されているように、レジストリを変更することで、その機能を元に戻すことができます。HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE で "iexplore.exe" DWORD を 0 に設定します。

レジストリを自分で変更したくない場合は、バージョン 0.9.2 以降、そのレジストリ キーを自動的に設定する Selenium Remote Control をいつでも使用できます。

于 2010-01-18T10:42:17.263 に答える
1

基本およびダイジェスト HTTP 認証をサポートするには、WebDriver に未解決の問題があります。変更の通知を受け取りたい場合は、http://code.google.com/p/selenium/issues/detail ?id=34 で問題に投票することをお勧めします

于 2010-01-18T12:43:58.447 に答える
0

Selenium FAQ の解決策は機能しません - FireFox は、ユーザーが認証することを意味することを確認するプロンプトを追加しますが、これには明らかな Selenium タスクがありません。

「ユーザー名「myuser」でサイト「my.domain.com」にログインしようとしています

最も安価な解決策は、Selenium セッションが使用するブラウザー プロファイルを使用して資格情報を一度手動で入力し、ブラウザーにそれらを保存させることです。(私は中間テストでこれを行いました) また、プロファイルの整数値 network.http.phishy-userpass-length;255 を追加しました

この他の質問は、プログラムでそれを行う方法、つまりSelenium 2を使用する方法を教えてくれました

于 2012-04-18T19:06:42.470 に答える
0

私はこれを使用していますが、私のために働いています。

public void login(String username, String password){
        WebDriver driver = getDriver();
        String URL = "http://" + username + ":" + password + "@" + "link";
        driver.get(URL);
        driver.manage().window().maximize();
    }
于 2014-07-28T11:34:28.197 に答える
0

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

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

于 2011-07-24T04:48:01.127 に答える