この質問は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
のような代替案を探してみましたが、windows
にPython 3
でこれを動作させる方法に関する情報は見つかりませんでした。
私はまた、phantomjs
希望のカスタムヘッダ認証を設定しようとしましたが、これは何もしないようです。
また、私はActionChains
を使ってみましたが、警告がそこに(IEまたは幻のドライバのいずれかで)存在しても機能しません。これがキャッチされていてもアクションを実行しようとしても、キャッチされたとしても、アラートは閉じているように見えますが、UnexpectedAlertPresentException
がスローされます。