2017-12-04 7 views
0

特定のURLを使用してサンドボックスのPaypalアプリケーションにログインしようとしていますが、電子メールIDとパスワード次のコードを使用してページ内の問題要素が実際にページに表示されているときに、セレンのスロー要素が表示されない例外エラー

driver.get("https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-7NA824468C3295748#/checkout/login"); 
Thread.sleep(20000); 
driver.findElement(By.cssSelector("input[id='email']")).sendKeys("[email protected]"); 
driver.findElement(By.cssSelector("input[id='password']")).sendKeys("[email protected]"); 
driver.findElement(By.id("btnLogin")).click(); 
Thread.sleep(6000); 

これらの要素のロケータは絶対に正しいとページでの表示されているが、それでも、セレンを使用して要素を検索しようとしたときにエラーをスローすることをその非常に奇妙を再現する

コード。

上記のコードを試して問題を再現してください。

答えて

0

は、JavaScriptの実装を使用してみてください:

JavascriptExecutor jse = (JavascriptExecutor)driver 
jse.executeScript("document.getElementById('email').setAttribute('value', '[email protected]')"); 
+0

私は私の答えを更新しました@Sharif。それを実装し、それが動作しているかどうかを教えてください。 –

+0

私は試みましたが、動作していません。何も例外をスローしていませんが、キーを送信しません。 – Sharif

1

私は両方の入力フィールドがスタイルとしてdisplay: noneを持って、ソースHTMLを見ました。だからあなたは彼らにキーを送ることができないのです。

<input id="email" name="login_email" type="email" value="" autocomplete="off" placeholder="Email" style="display:none"> 

あなたは電子メールフィールドに、値を設定する例をJavaScriptを使用することができます。

driver.executeScript("arguments[0].value = '[email protected]'", driver.findElement(By.id("email"))); 
+0

あなたが提供したコードを試しましたが、動作しませんでした。キーを送信しません。あなたは上記のコード – Sharif

+0

をチェックしましたか? – Sharif

関連する問題