2017-07-10 30 views
1

GoogleはURLを介してWindows資格情報を渡すサポートを中止し、私にとっては多くの自動化を壊しました。 (ユーザー名:[email protected]Windows認証でSelenium Webdriverを使用する(Chrome版)C#/ ASP.Net

https://www.chromestatus.com/feature/5669008342777856

私は追加AutoItX DLLを使用して解決策がある発見し、ローカルで実行している場合、それは正常に動作しますが、Webサーバーにデプロイするとき、それは送信されません。キーストローク。

これは私が持っているものです。

 AutoItX.WinWaitActive(authenticateurl + " - Google Chrome", "", 10); 
     AutoItX.WinActivate(authenticateurl + " - Google Chrome"); 
     AutoItX.Send(AdminUsername + "{TAB}"); 
     AutoItX.Send(AdminUserpass + "{ENTER}"); 

展開したときAutoItXが動作しない理由を任意のアイデア? ChromeブラウザでWindowsの認証情報を渡すより良い方法はありますか?前もって感謝します!

+0

これに関する他のヘルプはありますか? – Gnom

答えて

0

これは、コードがサーバーの低特権ユーザーアカウント(おそらくドメインアカウントではなくローカルシステムアカウント以上)で実行されるためだと思います。

あなたは、アプリケーションプールが実行されているアカウントを交換する必要があります(問題のサーバーに曖昧な機密情報がある場合は注意してください)。または、現在のアカウントがアクセスを許可されていない理由をデバッグしてください。

2番目のケースでは、マシンにログオンし、そのシステムアカウントとしてブラウザを実行し、次にイベントログを見て手動でログオンしようとしたときにどのログが生成されるかを確認できます。そのアカウントの資格情報を持っていない場合は、自動化を実行します)。

+0

お返事ありがとう!アプリケーションプールは、完全な権限を持つ私のドメインユーザーアカウントを使用して現在実行されています。私はそれが役立つかどうかを見るためにdllも登録しました。 – Gnom

+0

私の提案は間違いありません。 Windowsの場合は、おそらくこれがこれです:https://stackoverflow.com/questions/6810692/how-to-use-autoitx-in-net-c-without-registering? – Steveland83

+0

うん、WindowsのWebサーバー上で、それはC#プロジェクトのSeleniumドライバ、Autoit DLLを使用しています。あなたが持っているURLは、dllの登録を避けることを許可することです。私はその特定の問題や必要性を持っていません。ちょうどウィンドウの資格情報を渡す方法を見つけることを試みる。エラーもスローされません。 – Gnom

関連する問題