Ошибка при использовании sendKeys() с Selenium WebDriver Java.lang.CharSequence не может быть устранена

Я импортировал следующее и все еще получаю ошибку при использовании sendKeys();

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

Примечание: я использую Selenium WebDriver с Eclipse.

Пример кода приведен ниже.

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");

Может кто-нибудь из вас, дайте мне знать, что здесь не так.

7 ответов

Решение

Вы можете попробовать это, похожая проблема была дана ответ здесь #sendKeys Issue

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

или просто

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

Нужно обновить Compiler Compliance. Для Eclipse: выполните следующие действия:

  1. Щелкните правой кнопкой мыши на своем Java-проекте и выберите Build Path -> Click on Configure Build Path...
  2. В окне свойств проекта: нажмите / выберите Java Compiler на левой панели
  3. На правой панели: измените уровень соответствия компилятора с 1,4 до 1,7 или выше
  4. Наконец нажмите на Применить и ОК

Я столкнулся с той же проблемой при использовании Eclipse Kepler.

Проблемный домен:
Мой уровень соответствия компилятора Java был 1,4

Решение:
поэтому, используя путь сборки >> настроить путь сборки >> компилятор Java >> изменил уровень соответствия компилятора до 1,7 или выше

Это может решить проблему.

Проверьте Eclipse версии Eclipse 4.3 (Kepler) и выше версии необходимо обновить JAVA JDK 1.8.

После установки просто проверьте Eclipse: путь сборки >> настроить путь сборки >> компилятор java >> изменил уровень соответствия компилятора на 1.8

Примечание:1. Я предлагаю использовать версию Java JDK 1.8 и Eclipse Eclipse 4.6 (Neon) 2. Файл jar версии Selenium 3+ поддерживает только версию JAVA JDK 1.8 и выше.

Столкнулся с такой же проблемой.

Устранена проблема при обновлении до Eclipse Luna и последующем изменении версии компилятора на 1.8

Версия компилятора 1.8 недоступна с предыдущей версией

Это из-за вашего редактора затмения.

Выполните шаги ниже, чтобы преодолеть эту ошибку.

  1. Щелкните правой кнопкой мыши по проекту Java.
  2. Выберите "Путь сборки"> "Настроить путь сборки".

Здесь есть две вещи, которые нужно проверить

A.Java Build Path > Libraries- Здесь редактор должен ссылаться на версию, установленную на вашем компьютере. Если он ссылается на старые файлы библиотеки, удалите его, нажмите "Добавить библиотеку" и выберите последнюю системную библиотеку Jre из списка.

Б.Ява Компилятор. Здесь уровень соответствия компилятора должен быть самым последним / установленным на вашем компьютере.

Проблема будет решена при обновлении до Eclipse Luna и последующем изменении версии компилятора на 1.8.

Версия компилятора 1.8 недоступна с предыдущей версией

Здесь вы получаете ошибку типа java.lang.CharSequence.

Поскольку вы используете JDK8, ваша версия компилятора должна быть 1.8, которую вы можете получить только с последней версией Eclipse - ECLIPSE LUNA. Альтернативный способ - понизить ваш JDK8 до JDK7, и он все равно будет работать.

Другие вопросы по тегам