ここにシナリオがあります:recaptchaに戻る
私はCefSharpブラウザ経由でページを読み込んでいます。ユーザーがWebページではなくフォーム上の特定のボタンをクリックすると、ページは再キャプチャに注目する必要があります。
私はCaptchaにタブするためにSendKeysを使用しようとしましたが、一度押すとタブを押すのではなく、複数回登録されたように見えて、キャプチャの右下にある 'Terms'チェックボックス。
また、chromeBrowser.ExecuteScriptAsync()メソッドを使用して、ページ上でjavascriptを実行しようとしました。私は正常にテキストボックスに焦点を当て、それらのテキストボックスからkeypressイベントを実行することもできますが、前のテキストボックスでtab keypressイベントを実行すると、recaptchaはまだ強調表示されません。
chromeBrowser.Focus();
chromeBrowser.ExecuteScriptAsync("document.getElementsByClassName('txtBox')[0].Focus();" +
"document.getElementsByClassName('txtBox')[0].value = 'test string';")
SendKeys.Send("{TAB}");
SendKeys.Send("{ENTER}");
私は私が検査ページにrecapcthaに示したすべてのクラス名のためのgetElementsByClassNameを試みたタブが実際に
chromeBrowser.Focus();
chromeBrowser.ExecuteScriptAsync("document.getElementsByClassName('txtBox')[0].addEventListener('keypress', function(){" +
"alert('something was pressed!');});" +
"document.getElementsByClassName('txtBox')[0].focus();" +
"document.getElementsByClassName('txtBox')[0].value = 'test value';" +
"var e = document.createEvent('KeyboardEvent');" +
"e.initKeyboardEvent('keypress', true, true, document.defaultView, 9, 0, '', false, '');" +
"document.getElementsByClassName('txtBox')[0].dispatchEvent(e);");
「を押し」されていることを確認したイベントリスナーをもを追加しましたそれに焦点を合わせることです。私はrecaptcha iFrameのIDにgetElementByIdを試して、フォーカスをそれに設定しました。キャプチャに焦点を合わせるものはありません。
私はアイデアがありません。どんな助けもありがとう。
これは 'WinForms' *と*' WPF'のためのものですか?明確にするために質問にタグを追加する価値があります。 :-) – TEK
この場合のWinForms – TheEvilMetal