2017-03-14 8 views
-2

Gmailのサインアップページを自動化しようとしています。ユーザー名、パス、DOB、メールなどのすべての必須情報を入力して[次のステップ]ボタンをクリックすると、私は最後までスクロールする必要があるメッセージをポップアップし、Acceptボタンを有効にします。 以下は、私が使用しているコードとそのスクロールしているものの、「I Accept」ボタンが有効になるように十分に下がっていないコードです。私はまた、ダブルクリックし、コードの下にしようとしたが、そのエンドここGmailのログインページ - 末尾までスクロールできない

Actions action = new Actions(driver); action.moveToElement(driver.findElement(By.id("tos-scroll-bu‌​tton"))).doubleClick‌​().build().perform()‌​; 

までスクロールしないコード//

driver.manage().window().maximize(); 
    driver.get("https://accounts.google.com/SignUp?service=mail&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F&ltmpl=default"); 
    driver.findElement(By.xpath(".//*[@id='FirstName']")).sendKeys("Krishna"); 
    driver.findElement(By.xpath(".//*[@id='LastName']")).sendKeys("Krishna"); 
    driver.findElement(By.xpath(".//*[@id='GmailAddress']")).sendKeys("Krishna.Krishna1154"); 
    driver.findElement(By.xpath(".//*[@id='Passwd']")).sendKeys("[email protected]"); 
    driver.findElement(By.xpath(".//*[@id='PasswdAgain']")).sendKeys("[email protected]"); 
    //Input the month 
    List<WebElement> month_dropdown = driver.findElements(By.xpath(".//*[@id='BirthMonth']/div")); 
    //iterate the list and get the expected month 
    Thread.sleep(3000); 
    for (WebElement month_ele:month_dropdown){ 
    String expected_month = month_ele.getAttribute("innerHTML"); 
    // Break the loop if match found 
    Thread.sleep(3000); 
    if(expected_month.equalsIgnoreCase("August")){ 
     month_ele.click(); 
     break; 
    } 
    driver.findElement(By.id("BirthMonth")).click(); 
    driver.findElement(By.id(":3")).click(); 
    driver.findElement(By.xpath(".//*[@id='BirthDay']")).sendKeys("14"); 
    driver.findElement(By.xpath(".//*[@id='BirthYear']")).sendKeys("1988"); 
    driver.findElement(By.id("Gender")).click(); 
    driver.findElement(By.id(":e")).click(); 
    driver.findElement(By.xpath(".//*[@id='RecoveryPhoneNumber']")).sendKeys("XXXXXXXX"); 
    driver.findElement(By.xpath(".//*[@id='RecoveryEmailAddress']")).sendKeys("[email protected]"); 
    driver.findElement(By.id("submitbutton")).click(); 
    Thread.sleep(3000L); 
    driver.findElement(By.xpath("//*[@id='tos-scroll-button']/div/img")).click(); 
+2

これがGoogleの利用規約に違反しないことをどのように推測し始めることはできません。 – jibbs

+0

GoogleのメールAPIを使用していない理由はありますか?私はあなたがおそらくGoogleのサイトをテストする必要はないと思う。 – JeffC

答えて

1

ボタンを受け入れるまでスクロールダウンビューにされてみてください。

WebElement element =driver.findElement(by); 
     JavascriptExecutor jse =(JavascriptExecutor)driver; 
     jse.executeScript("arguments[0].scrollIntoView(true);",element); 
関連する問題