Internet Explorerを開き、https://clockify.me/loginに移動し、電子メールとパスワードの入力を入力してフォームを送信するか、ログインボタンをクリックするPowerShellスクリプトを作成しようとしています。
問題は、以下を使用して入力を入力する場合です。
document.getElementById("email").value="123"
document.getElementById("password").value="123"
次の結果が得られました。
document.forms[0].submit()
ページを含むフォームを送信すると、URL https://clockify.me/login?email=&password=でリロードしても、何も起こりません。それで、これを回避する方法はありますか?純粋なJavaScriptまたはPowerShellのいずれかを使用します(IEウィンドウを非表示にしておきたい)
ありがとう!
input
DOMオブジェクトの値を変更している場合でも、基になるAngularライブラリの変更検出をトリガーするには不十分であるため、フォームは「空」に見えます。
次の純粋なJSの例はChromeで機能しますが、InternetExplorerではテストしていません。
let email = document.getElementById("email");
let password = document.getElementById("password");
let button = document.getElementsByTagName("button")[0];
email.value = '[email protected]';
password.value = 'yourpassword';
// Trigger change detection
email.dispatchEvent(new Event('input'));
password.dispatchEvent(new Event('input'));
button.click();
場合はdispatchEvent
IEでは動作しません、あなたが試みることができるcreateEvent
とinitEvent
。IE11でdispatchEventが機能しないを参照してください
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加