在 Selenium (Java) 中通过 cssSelector 获取元素

Sug*_*gan 5 java selenium

<html>
    <body>    
        <div id="login-box" class="form-box">    
            <form id="frmlogin" class="form" name="frmlogin" method="post">
                <div class="body">
                    <div class="form-group">
                        <input id="email" class="form-control" type="text" maxlength="50"     value="dfsf@gmail.com" placeholder="Email" name="email">
                        <span class="red">Please provide a valid email address</span>
                    </div>
                    <div class="form-group">
                        <input class="form-control" type="password" maxlength="15" placeholder="Password" name="password">
                        <span class="red">Password must not be empty</span>
                    </div>
                </div>
            </form>
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我需要使用nth-childin获取“请提供有效的电子邮件地址”和“密码不能为空” cssSelector

我尝试了以下代码段:

//案例2

    driver.findElement(By.name("email")).clear();
    driver.findElement(By.name("email")).sendKeys("");
    String a=driver.findElement(By.cssSelector("form#frmlogin div.form-group:nth-child(1)>span")).getText();
    System.out.println(a);
    if(a.contains("valid email address"))
    {
        System.out.println("Login test case2 Passed");
    }
    else
    {
        System.out.println("Login test case2 Failed");
    }
Run Code Online (Sandbox Code Playgroud)

它导致NoSuchElementFound.

Mur*_*ain 3

您可以通过元素选择器使用它

By.cssSelector("input[name=email]")
Run Code Online (Sandbox Code Playgroud)