Java 类型列表的sendKeys(String)方法未定义<;WebElement>;

Java 类型列表的sendKeys(String)方法未定义<;WebElement>;,java,selenium,selenium-webdriver,selenium-firefoxdriver,Java,Selenium,Selenium Webdriver,Selenium Firefoxdriver,这是我的代码。我收到sendKeys()的错误 我正在使用: windows 8(64位) JavaJDK1.8 硒3.4.0 Firefox 53.0.2(64位) 我该怎么办?driver.findElements返回WebElements的列表;您要做的是从该列表中获取单个元素,然后对该元素调用sendKeys。您遇到的错误是因为List没有方法sendKeys(String) 例如: FirefoxDriver driver = new FirefoxDriver(options);

这是我的代码。我收到
sendKeys()
的错误

我正在使用:

  • windows 8(64位)
  • JavaJDK1.8
  • 硒3.4.0
  • Firefox 53.0.2(64位)

我该怎么办?

driver.findElements
返回
WebElements
列表;您要做的是从该
列表中获取单个元素,然后对该元素调用
sendKeys
。您遇到的错误是因为
List
没有方法
sendKeys(String)

例如:

FirefoxDriver driver = new FirefoxDriver(options);

driver.get("https://www.facebook.com/");

//driver.manage().window().maximize();

driver.findElements(By.xpath("/html/body/div[3]/div[2]/div[1]/div/div/div/div/div[2]/div[2]/div/div/div/div[1]/form/div[1]/div[1]/div[1]/div[1]/div/div[1]/input")).sendKeys("Test Selenium");
FirefoxDriver driver = new FirefoxDriver(options);
driver.get("https://www.facebook.com/");

driver.findElements(By.xpath("/html/body/div[3]/div[2]/div[1]/div/div/div/div/div[2]/div[2]/div/div/div/div[1]/form/div[1]/div[1]/div[1]/div[1]/div/div[1]/input"))
    .get(0)
    .sendKeys("Test Selenium");

我发现您使用了
driver.findelement
而不是
driver.findelement


使用后一个键,以便
发送键
可以正常工作。希望我已经解决了您的查询。

为WebElement初始化一个局部变量,然后初始化变量。sendkeys(字符串)可以正常工作。 例如:

FirefoxDriver driver = new FirefoxDriver(options);

driver.get("https://www.facebook.com/");

//driver.manage().window().maximize();

driver.findElements(By.xpath("/html/body/div[3]/div[2]/div[1]/div/div/div/div/div[2]/div[2]/div/div/div/div[1]/form/div[1]/div[1]/div[1]/div[1]/div/div[1]/input")).sendKeys("Test Selenium");
FirefoxDriver driver = new FirefoxDriver(options);
driver.get("https://www.facebook.com/");

driver.findElements(By.xpath("/html/body/div[3]/div[2]/div[1]/div/div/div/div/div[2]/div[2]/div/div/div/div[1]/form/div[1]/div[1]/div[1]/div[1]/div/div[1]/input"))
    .get(0)
    .sendKeys("Test Selenium");

它应该可以正常工作。

它可以处理您的代码,但sendKeys()没有键入。