2017-08-28 3 views
-1

J'ai eu cette exception ou une erreur quand je rum mon script:Impossible de trouver l'élément dans WebDriver

"Impossible de trouver l'élément: * [name = 'password']"

Je essayé avec différents locators mais chaque fois que je reçois la même erreur.

Voici mon script

import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 
//import org.openqa.selenium.chrome.ChromeDriver; 


public class TestGmail { 
    public static void main(String[] args){ 
     System.setProperty("webdriver.gecko.driver", "E:\\geckodriver-v0.16.0-win32\\geckodriver.exe"); 

     WebDriver driver=new FirefoxDriver(); 

     //System.setProperty("webdriver.chrome.driver", "C:\\Program Files\\chromedriver_win32\\chromedriver.exe"); 

     //WebDriver driver=new ChromeDriver(); 
     driver.get("https://accounts.google.com/"); 
     driver.findElement(By.id("identifierId")).sendKeys("myAddress"); 
     driver.findElement(By.cssSelector("span.RveJvd.snByac")).click(); 


     driver.findElement(By.name("password")).sendKeys("myPassword"); 

     driver.findElement(By.className("RveJvd snByac")).click(); 

     driver.close(); 
    } 


    } 
+0

Quelle est l'erreur que vous obtenez? – Kapil

+0

J'ai ajouté le script complet essayez ceci @nirmala – iamsankalp89

Répondre

-1

Essayez ce script, il est bien workig:

WebDriver driver = new FirefoxDriver(); 
driver.get("https://accounts.google.com/"); 
driver.findElement(By.id("identifierId")).sendKeys("myAddress"); 
driver.findElement(By.cssSelector("span.RveJvd.snByac")).click(); 
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); 
driver.findElement(By.name("password")).sendKeys("myPassword"); 
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); 
driver.findElement(By.xpath("//span[@class='RveJvd snByac']")).click(); 
driver.close(); 
+0

Essayez ceci @Nirmala dans votre fonction principale(), il est très bien travaillé – iamsankalp89

+0

est-ce le travail pour vous? – iamsankalp89

+0

J'ai essayé son fonctionnement bien en chrome mais pas dans Firefox. J'utilise le sélénium 3.4.0, geckodriver-v0.16.0-win32 et firefox 47. Pourrait-il y avoir un problème avec l'installation? – nirmala

-1

Je vous suggère d'utiliser Explicite attendre. L'utilisation de l'attente implicite est une mauvaise pratique.

Vous pouvez utiliser le code ci-dessous quelque chose comme dessous-

WebDriverWait wait = new WebDriverWait(driver, 10); 
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("someid"))); 

code ci-dessus est en Java.

+0

Pourquoi downvote – Kapil

0

Voici le bloc de code pour localiser le champ password et envoyer du texte dans le champ password sur l'url https://accounts.google.com/

package demo; 
import java.util.concurrent.TimeUnit; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.openqa.selenium.support.ui.ExpectedConditions; 
import org.openqa.selenium.support.ui.WebDriverWait; 

public class GMAIL_LOGIN_FIREFOX_CSS 
{ 
    public static void main(String[] args) 
    { 
     System.setProperty("webdriver.gecko.driver","C:\\Utility\\BrowserDrivers\\geckodriver.exe"); 
     WebDriver driver = new FirefoxDriver(); 
     String url = "https://accounts.google.com/signin"; 
     driver.get(url); 
     driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
     driver.findElement(By.cssSelector("#identifierId")).sendKeys("your_email"); 
     driver.findElement(By.cssSelector(".ZFr60d.CeoRYc")).click(); 
     WebElement password = driver.findElement(By.cssSelector("input[class='whsOnd zHQkBf'][type='password']")); 
     WebDriverWait wait = new WebDriverWait(driver, 5); 
     wait.until(ExpectedConditions.elementToBeClickable(password)); 
     password.sendKeys("your_password"); 
    } 
} 
-1

Utilisez cette ligne de code pour trouver l'élément « mot de passe » et en entrant le mot de passe

Le code est le suivant:

driver.findElement(By.Xpath("html/body/div/div/div[2]/div[2]/form/div[2]/div/div/div[1]/div[1]/div/div[1]/div/div[1]/input")).sendKeys("Your password ") 
+0

Avez-vous trouvé ce code qui vous convient? – Prashant1992

+0

Merci mon problème a été résolu J'ai un problème avec l'installation son travail sur chrome – nirmala