2017-12-17 7 views
-1

JQuery入力にキーを送信できませんでした。私はこのサイトでログインを自動化しようとしており、ログインはPrettyphoto JQueryライトボックスのポップアップです。私が試したことは何もありません。Selenium:Javascriptを使用してJQuery入力にキーを送信する方法

これは私のコードです:私が試したが、まだ動作しませんでした他の

driver.findElement(By.xpath("//*[@id=\"pp_full_res\"]/div/form/p[1]/input")).sendKeys("username"); 
driver.findElement(By.xpath("//*[@id=\"pp_full_res\"]/div/form/p[2]/input")).sendKeys("password"); 
driver.findElement(By.xpath("//*[@id=\"prettyPhotoLogin\"]")).click(); 

何かがある:

JavascriptExecutor executor = ((JavascriptExecutor) driver); 
executor.executeScript("document.getElementsByName('username').value='username'"); 

ページがhttp://www.besthorrormovielist.com/で、ログインリンクがフッターに位置しています。

EDIT: フッターのログインリンクをクリックしてログインJQueryポップアップを開くことができますが、SeleniumはJQueryポップアップ内のユーザー名とパスワードの入力フィールドを表示しません。

ご協力いただきまして誠にありがとうございます。

+0

をお読みください:私たちは、それとの対話Loginフォームを開くための要素をクリックし、次のようにsendKeys("username")メソッドを呼び出すようにしようとするViewport以内意図WebElementを持参する必要があります[mcve](MCVE)の部分、[どのくらいの研究努力が期待されていますか](https://meta.stackoverflow.com/questions/261592/how-much-research-effort-is-expected-of-stack -overflow-users)これはあなた自身のプログラムをデバッグし、自分で問題を解決するのに役立ちます。あなたがこれを行い、まだまだ立ち往生している場合は、あなたがMCVEを投稿し、何を試したのか、そしてエラーメッセージを含む実行結果を投稿して、より良くあなたを助けることができます。また、ページや関連するHTMLへのリンクを提供してください。 – JeffC

答えて

0

LoginリンクはSeleniumがページを開いたときViewport内ではありませんフッターの上に位置しています。特に、[尋ねる]

WebElement myelement = driver.findElement(By.xpath("//div[@id='footerbottom']//a[@href='#loginform']")); 
((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView()", myelement); 
myelement.click(); 
+0

こんにちはDebajanBさん、あなたの回答に感謝しますが、上記のコードは機能しませんでした。私はJQueryログインポップアップを開くことができますが、ログインポップアップ内のユーザー名とパスワード入力にキーを送信することはできません。 Seleniumが名前とパスワードの入力フィールドを見るかどうかをチェックすると、Elementが表示されません。 – NoClue

関連する問題