【问题标题】:Error when using sendKeys() with Selenium WebDriver Java.lang.CharSequence cannot be resolved将 sendKeys() 与 Selenium WebDriver Java.lang.CharSequence 一起使用时出错,无法解决
【发布时间】:2014-09-01 20:51:20
【问题描述】:

我已导入以下内容,但在使用 sendKeys(); 时仍然出现错误

import org.openqa.selenium.*;
import org.openqa.selenium.firefox.*;
import org.testng.Assert;
import org.openqa.selenium.WebDriver;

注意:我在 Eclipse 中使用 Selenium WebDriver。

示例代码如下。

import org.openqa.selenium.*;
import org.openqa.selenium.firefox.*;
import org.testng.Assert;
import org.openqa.selenium.WebDriver;

public class Practice {

    public static void main(String[] args)
      {

        WebDriver driver = new FirefoxDriver();
        String baseUrl = "http://www.facebook.com";

        String tagName="";
        driver.get(baseUrl);
        tagName = driver.findElement(By.id("email")).getTagName();
        System.out.println("TagName: "+tagName);    
        WebElement myElement = driver.findElement(By.id("username"));
        myElement.sendKeys("text");
      }
}

我收到一条错误声明

The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files

指向myElement.sendKeys("text");这一行

谁能告诉我这里有什么不正确的地方。

【问题讨论】:

    标签: java eclipse selenium selenium-webdriver


    【解决方案1】:

    它需要升级编译器合规性。 对于 Eclipse:按照以下步骤操作:

    1. 右击你的java项目并选择Build Path -> 点击Configure Build Path...
    2. 在项目属性窗口中:单击/选择左侧面板中的Java Compiler
    3. 在右侧面板中:将编译器合规性级别从 1.4 更改为 1.7 或更高
    4. 最后点击应用并确定

    【讨论】:

      【解决方案2】:

      你可以试试这个,类似的问题已经在这里回答了#sendKeys Issue

      myElement .sendKeys(new String[] { "text" }); //You could create a string array 
      

      或者干脆

      myElement .sendKeys(new String { "text" });
      

      【讨论】:

      • 感谢您的信息。 "myElement .sendKeys(new String { "text" });" 行与 JRE7 合作。但是,当我将 JRE 切换到 8 时,它会抛出 WebElement 类型的方法 sendKeys(CharSequence[]) 指的是缺少的类型 CharSequence。你以前有过这样的经历吗?
      • 从 1.7 切换到 1.8 时,我遇到了与 .contains(CharSequence...) 相同的问题。
      • 这种情况下String和String数组有什么区别?它需要在 sendKeys 方法中传递一个字符串作为参数。最好传递简单的单个字符串而不是字符串数组。
      【解决方案3】:

      我在使用 eclipse Kepler 时遇到了同样的问题。

      问题域:
      我的 java 编译器合规级别1.4

      解决方案:
      so using build path >> configure build path>> java compiler>> 将 compiler compliance level 改为1.7或更高

      这可以解决问题。

      【讨论】:

        【解决方案4】:

        这是因为你的 eclipse 编辑器。

        按照以下步骤克服该错误。

        1. 右键单击 java 项目。
        2. 选择构建路径>配置构建路径。

        这里有两件事你需要检查

        A.Java Build Path > Libraries- 这里的编辑器应该参考你机器上安装的版本。如果它引用旧库文件,则将其删除并单击添加库并从列表中选择最新的 Jre 系统库。

        B.Java 编译器。这里编译器合规级别应该是最新的/安装在您的机器上。

        【讨论】:

          【解决方案5】:

          当您使用 JDK8 时,您的编译器版本 应该是 1.8,只有最新的 Eclipse 版本才能获得 - ECLIPSE 露娜。 另一种方法是将JDK8降级到JDK7,它仍然可以工作。

          【讨论】:

            【解决方案6】:

            查看Eclipse版本Eclipse 4.3(Kepler)及以上版本需要升级JAVA JDK 1.8。

            安装后只需检查 Eclipse: 构建路径>>配置构建路径>>java编译器>>更改编译器合规级别为1.8

            注意: 1。我建议使用 Java JDK 1.8 版本和 Eclipse Eclipse 4.6 (Neon) 2. Selenium 3+ 版本的jar 文件只支持JAVA JDK 1.8 及以上版本。

            【讨论】:

              【解决方案7】:

              面临同样的问题。

              升级到 Eclipse Luna 然后将编译器版本更改为 1.8 后问题得到解决

              编译器版本 1.8 不适用于以前的版本

              【讨论】:

                【解决方案8】:

                问题将在升级到 Eclipse Luna 然后将编译器版本更改为 1.8 后得到解决

                编译器版本 1.8 不适用于以前的版本

                你得到了 java.lang.CharSequence 类型错误。

                【讨论】:

                  猜你喜欢
                  • 2020-12-16
                  • 1970-01-01
                  • 1970-01-01
                  • 2015-09-17
                  • 2016-04-21
                  • 1970-01-01
                  • 1970-01-01
                  • 2021-04-09
                  • 1970-01-01
                  相关资源
                  最近更新 更多