2017-11-30 6 views
0

Selenium WebDriverを使用してGmailのログインプロセスを自動化しようとしたばかりです...メールIDを入力すると、新しいページが開きパスワードを入力します。パスワードを入力するにはどうすればよいですか?Selenium WebDriverでクリックした後に表示される新しく開いたウィンドウを制御する方法は?

WebElement element= driver.findElement(By.xpath("//*[@id='ident']")); 
element.sendKeys("THE EMAIL ID"); 
element.sendKeys(Keys.ENTER); 
WebElement ele= driver.findElement(By.xpath("//*[@id='passd']")); 
ele.sendKeys("THE PASSWORD"); 
ele.sendKeys(Keys.ENTER); 
+0

[新しいAjaxのログインフォームを通じてGoogleアカウントにログインするためのSeleniumテストスクリプト]の可能な重複(https://stackoverflow.com/questions/45953043/selenium-test-scripts-to-login-into-google -account-through-new-ajax-login-form) – DebanjanB

答えて

1

ドライバを現在のハンドラに切り替える必要があります。

パスワードを入力するには、次のコードを使用してください。

WebElement element= driver.findElement(By.xpath("//* 
    [@id='ident']")); 
    element.sendKeys("THE EMAIL ID"); 
    element.sendKeys(Keys.ENTER); 

    String mainWindowHandler = driver.getWindowHandle(); 

    for(String winHandle : driver.getWindowHandles()) { 
     if (!mainWindowHandler.equals(winHandle)) { 
      driver.switchTo().window(winHandle); 
     } 
    } 

    WebElement ele = driver.findElement(By.xpath("//*[@id='passd']")); 
    ele.sendKeys("THE PASSWORD"); 
    ele.sendKeys(Keys.ENTER); 
関連する問題