繁体   English   中英

Selenium 显示错误“WebElement 类型中的方法 sendKeys(CharSequence[]) 不适用于参数 (String)”

[英]Selenium shows error "The method sendKeys(CharSequence[]) in the type WebElement is not applicable for the arguments (String)"

通过 JAVA 执行 selenium 脚本时,出现以下错误。

错误:“WebElement 类型中的方法 sendKeys(CharSequence[]) 不适用于参数 (String)”

我的代码:

package Pkg_09;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;

public class Practice {

    public static void main(String[] args) {

        WebDriver driver1;

        driver1.get("www.google.com");
        driver1.findElement(By.id("gs_htif0")).sendKeys("Sachin Tendulkar");
        driver1.findElement(By.id("aa")).sendKeys("xx");
        driver1.findElement(By.name("btnK")).click();
    }
}

如果有什么我遗漏的地方,请告诉我。

此行为取决于您用于运行此代码的 Java 版本。 从 1.6 版开始,可以将单个 String 实例作为 CharSequences 传递,它是 sendKeys() 方法期望的参数。 但是,如果您使用旧版本或在您的构建脚本中将其指定为源/目标版本,那么您应该传递一个 CharSequences 数组作为 sendKeys() 方法的参数。 所以它可以这样做:

public static void main(String[] args) {
    WebDriver driver1;
    driver1.get("www.google.com");
    driver1.findElement(By.id("gs_htif0")).sendKeys(new String[] {"Sachin Tendulkar"});
    driver1.findElement(By.id("aa")).sendKeys(new String[] {"xx"});
    driver1.findElement(By.name("btnK")).click();
}

尝试以下代码:

driver1.findElement(By.id("aa")).sendKeys(new String[]{"xx"});

我们正在使用带有 Java 8 的 Eclipse 氧气版本,它对我们来说运行良好。 我们在 eclipse Luna 和 indigo 上遇到了同样的问题

当您尝试将 JAVA 8 与较低版本的 selenium 一起使用时,会发生这种情况,将您的 jar 更改为 selenium 3.0.1 并且一切正常。

如果有人仍然面临这个问题(Sendkeys 错误),请在下面尝试。

下载“cldc-1.1-java5.0.jar”并将其添加到构建路径中-->添加外部库。

下载cldc-1.1-java5.0.jar并进行链接解决了该问题。 非常感谢你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM