2017-03-06 7 views
0

シャドウDOM要素にデータを追加します。は、私は自動的にパスワードとユーザー名を追加して、DOM要素をシャドウするために、「入力」をクリックする必要が自動的に

は、私が追加するためのコードがある:

document.querySelector('input').value = "username"; 
document.querySelectorAll('input')[1].value ="password"; 

それの作品は、私は必要なフィールドにユーザー名とパスワードを参照してください。しかし、次のコードを使用してボタンをクリックすると:

document.querySelector('button').click() 

私はプロセスが開始してから何も表示されず、フィールドが空になるのを見ます。

ボタンのコードは:私はこれを手動で行う場合

<span class="_r "> 
<button class="_a">Enter</button> 
</span> 

、すべてが問題なく動作します。なぜ自動モードが機能しないのですか?

+0

コンソールになっているエラーの種類? –

+0

@Supersharpボタンコードを追加しました – Delphian

+0

@santoshgoreユーザー名やパスワードが間違っています(ブラウザウィンドウでこのエラーが発生しました)。しかし、ボタンをクリックすると、フィールドが空になります。コンソールにエラーはありません。 – Delphian

答えて

0

私は<button>をクリックするとフォームが送信されるためです。

フォームを送信する場所を指定しなかった場合、現在のページが再度要求され、<input>タグの内容がリセットされます。

<form onsubmit="return false"> 

...やフォームを処理するJavaScript関数を呼び出します(そして、あなたがページに移動したくない場合はfalseを返す):

あなたはこのようなonsubmit属性を設定する必要があります。

<form onsubmit="process()"> 

それともaction属性でフォームを送信するためのURLを指定:

<form action="/form"> 
+0

javascriptを使用して自動的にログインしたいと思います。ページコードを変更できません。ページコードを変更できない場合は、どのように「onsubmit」を変更しますか? – Delphian

+0

私はdocument.querySelector( 'form')をクリックしましたが、結果は同じですが、 "Incorrect usernameまたはpassword"エラーが表示されない限り、setAttribute( "onSubmit"、 "false")を実行しました。 – Delphian

+0

javascript、instagram.com(パスと名前を追加して「ログイン」をクリック)、facebookなどを使用して同様のロジック(シャドードーム)を使用するgoogle.com(クエリを追加して「検索」をクリック)上記のようなものです。 – Delphian

関連する問題