首页 > 解决方案 > 需要在硒中找到元素

问题描述

我想找到这些输入的元素:“Email”和“Mot de passe”来填充它。任何帮助将不胜感激这是网址:https ://www.geev.com/fr/login/local

我尝试了这些,但不适用于我:

List<WebElement> someElements = driver.findElements(By.xpath("//input[contains(@class, 'view-login-form-password-input ng-untouched ng-pristine ng-invalid')]"));

List<WebElement> someElements = driver.findElements(By.cssSelector(".view-login-form-password-input.ng-untouched.ng-pristine.ng-invalid")); 

List<WebElement> someElements = driver.findElements(By.className("input.view-login-form-password-input ng-untouched ng-pristine ng-invalid"));

    for (WebElement anElement : someElements) {
        if (anElement.getAttribute("type").equals("email")) {
            // Do something
            anElement.sendKeys("");         }
    }

编辑1:

感谢@wp78de 的建议,仅此一项有效,但不幸的是,它指的是搜索输入,而不是“电子邮件”和“Mot de passe”输入

WebElement anElement = driver.findElement(By.xpath("//*/form[1]/input[1]"));

后来我为我的第二种形式尝试了这个,但没有用:(

WebElement anElement = driver.findElement(By.xpath("//*/form[2]/input[1]"));

标签: seleniumselenium-webdriverxpathcss-selectorswebdriver

解决方案


要发送到电子邮件并通过,请使用以下内容。

WebElement userName = driver.findElement(By.cssSelector("input[type='email']"));
userName.sendKeys("Username");
WebElement passWord = driver.findElement(By.cssSelector("input[type='password']"));
passWord.sendKeys("Pass");

我在这之后使用它。

driver.get("https://www.geev.com/fr/login/local");
driver.manage().window().maximize(); 
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);    

推荐阅读