2016-06-23 7 views
-1

電子商取引ページで注文しようとしていて、パスワードの要素を正しく検索できましたが、私は、スレッド「メイン」org.openqa.selenium.ElementNotVisibleExceptionに「パスワード」テキストボックスにパスワードを入力しようとしたときに要素が表示されない

例外としてエラーを取得しています:見えない要素

注:は、時にはそれが機能していますが、時にはそれが上記のエラーを投げています。

誰かが解決策を提示することができます。なぜこのテストでこのエラーが発生するのでしょうか。ここで

ここで要素のためのHTMLコード

はあなたがほとんど良い解決策をコメントし、次のコード

   System.setProperty("webdriver.chrome.driver", "C:\\Users\\AAA\\Desktop\\Softwares\\chromedriver.exe"); 
      WebDriver driver=new ChromeDriver(); 
      driver.get("http://www.flipkart.com"); 
      //driver.manage().window().maximize(); 
      driver.findElement(By.className("LM6RPg")).sendKeys("Shirts"); 
      driver.findElement(By.className("vh79eN")).click(); 
      driver.findElement(By.xpath(".//*[@id='products']/div/div[1]/div[1]/div/div[2]/div[1]/a")).click(); 
      driver.findElement(By.xpath(".//*[@id='fk-mainbody-id']/div/div[7]/div/div[3]/div/div/div[5]/div[3]/div[2]/a/div/div")).click(); 
      //driver.findElement(By.xpath(".//*[@id='fk-mainbody-id']/div/div[7]/div/div[3]/div/div/div[5]/div[3]/div[2]/div/div/span")).click(); 
      driver.findElement(By.xpath(".//*[@id='fk-mainbody-id']/div/div[7]/div/div[3]/div/div/div[6]/div/div[2]/div[1]/div/div[2]/div/div[1]/form/input[8]")).submit(); 
      driver.findElement(By.xpath(".//*[@id='fk-mainhead-id']/div[1]/div/div[2]/div[3]/div[1]/a/span[1]")).click(); 
      // driver.findElement(By.partialLinkText("VIEW CART")).click(); 
      driver.findElement(By.xpath(".//*[@id='view-cart-form']/button")).click(); 

      driver.findElement(By.id("email")).sendKeys("984"); 
      driver.findElement(By.xpath(".//*[@id='ng-app']/div/div[2]/ul/li[1]/div/div[2]/div[1]/div[2]/div[1]/form/input")).click(); 
      //WebDriverWait wait = new WebDriverWait(driver,30); 
      //wait.until(ExpectedConditions.presenceOfElementLocated(By.id("password"))); 

      driver.findElement(By.id("password")).sendKeys("bbb181"); 
      driver.findElement(By.xpath(".//*[@id='ng-app']/div/div[2]/ul/li[1]/div/div[2]/div[1]/div[2]/div[1]/form/input")).click(); 
+1

ウェブサイトを見ずに言うのは難しいです。パスワード要素は、ページ上のページで常に表示されていますか、以前の操作を実行した後に表示されますか? – RemcoW

+0

あなたはそこにあるログイン情報のアノニマス化をしたいかもしれません –

+0

パスワードのテキストボックスに入力するパスワードは、他のパスワードのテキストボックスにあるように暗号化されています。文字が表示されないため、エラーが表示されています。 – Nivi

答えて

1

です。

WebDriverWait wait = new WebDriverWait(driver,30); 
wait.until(ExpectedConditions.presenceOfElementLocated(By.id("password"))); 

変更のための条件:あなたは書い

wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("password"))); 

、これは動作するはずです。

+0

driver.findElement(By.id( "email"))の前に待機も移動する必要があります –

+0

ありがとうございます。あなたのソリューションは私のために働いた:) – Nivi

関連する問題