缺少或无效的  entry.level'" selenium webdriver中的错误

时间:2017-12-20 14:23:54

标签: java selenium selenium-webdriver

我正在学习Selenium Webdriver。我试图登录" Quora"通过谷歌。但在电子邮件输入部分,代码无法正常工作。我无法弄清问题是什么。请帮忙。以下是我的代码:

import org.openqa.*;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.chrome.ChromeDriver;

public class Demo2 {

    public static void main(String[] args) { 

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

        WebDriver driver=new ChromeDriver();

        String url="https://quora.com";

        driver.get(url);

        WebElement ele1=driver.findElement(By.className("google_button_text"));

        ele1.click();       

        WebElement email1=driver.findElement(By.name("identifier"));

        email1.sendKeys("fggffgfd"); 

        WebElement next1=driver.findElement(By.className("RveJvd snByac")); 

        next1.click();

        WebElement password=driver.findElement(By.className("whsOnd zHQkBf"));

        password.click();

        password.sendKeys("Sffgdffdf3");

        WebElement next2=driver.findElement(By.className("RveJvd snByac")); 

        next2.click();          
    }
}

1 个答案:

答案 0 :(得分:0)

使用Id而不是Name选择元素。你可以使用

By.id("identifierId")

而不是

By.name("identifier")

尝试使用WindowHandle,如下面的代码snap:

ele1.click();

String mainWindowHandler = driver.getWindowHandle();

for(String winHandle : driver.getWindowHandles()){
    driver.switchTo().window(winHandle);
}

WebElement email1=driver.findElement(By.id("identifierId"));

它会在电子邮件字段中写入文字。然后,您需要捕获下一步按钮的精确选择器,例如By.cssSelector("#identifierNext > content > span")。通过这种方式,尝试找出{{1>} 密码字段和下一步按钮。

在代码结束时,您需要添加以下代码行来关闭第二个窗口并切换到主窗口:

cssSelector

希望它可以解决您的问题。