2017-02-08 35 views
0

この質問はPython 3.5.2であることにご注意ください。Pythonの回答のみが受け入れられます。これがJavaで確実に処理されない限り?プロセスを内部プロジェクトの一部として自動化する。 IE webdriverを使用してもすべてうまく動作しますが、WebドライバはphantomJSではありません(機能が限られているため)。しかし、回避策/解決策が必要です。Python Selenium PhantomJSログインダイアログ

内部サイトを開くときに、Windows Security login dialog boxが表示され、ユーザー名とパスワードの入力を求めるメッセージが表示され、[OK]を押します。

loginAlert = driver.switch_to_alert() 
loginAlert.authenticate(username, password) 

のjavascript:IE web driverと、それはとうまく処理され

はプロンプトを与えるページをロードする前に実行されて

driver.execute_script("window.confirm = function(){return true;}") 
、ため、ログインアラートを確認していないようですファントムまたはIE。たとえそうでも、これはログインの詳細を入力しません。前述のとおり、ブラウザからのWindowsセキュリティプロンプトであり、要素ではありません。

一度ログインすると、セッションが終了すると有効期限が切れるASP.NET_SessionId Cookieがページに読み込まれます。私はIEを介してログインしようとした後、ファントムにクッキーを追加しますが、ドメインと一致するようには見えません。私が使用して試した

IE driverで動作しますが、 PhantomJSで、唯一の透明画像が保存され
driver.save_screenshot(filename) to see what's happening in phantom 

。 IEまたはファンタムドライバでは、http://username:[email protected]のすべてが機能しません。これが完了したときにURLをロード/使用することはできません。

Windowsセキュリティログインダイアログはどのように処理されるか、回避されますか?私はpyvirtualdisplayのような代替案を探してみましたが、windowsPython 3でこれを動作させる方法に関する情報は見つかりませんでした。

私はまた、phantomjs希望のカスタムヘッダ認証を設定しようとしましたが、これは何もしないようです。

また、私はActionChainsを使ってみましたが、警告がそこに(IEまたは幻のドライバのいずれかで)存在しても機能しません。これがキャッチされていてもアクションを実行しようとしても、キャッチされたとしても、アラートは閉じているように見えますが、UnexpectedAlertPresentExceptionがスローされます。

答えて

0

私の悪い!

username:[email protected]IE webdriverでは動作しませんでしたけれども - しかし、ウェブサイトは、ブラウザの互換性を制限しているit did work in the PhantomJS web driver.

- それはdoesn't load properly in either Chrome or Firefox、それはIEの特定です。

PhantomJSは、ページソースの比較に基づいてChrome/Firefoxと同じ方法でサイトを処理するようです。

headless-selenium-for-win using Python

をしかし、私は別の質問をするinitialize the driver, it just hangs, the code doesn't proceed and no error messages are provided.

しようとすると、彼らはそれが動作するようになったと言って、ここでユーザーにもかかわらず、私が発見したように、I am trying to find a way to make the current IE driver invisible/hidden.

として

これに関して。

関連する問題