将sendKeys()与Selenium WebDriver Java.lang.CharSequence一起使用时出错,无法解析
我已经导入了以下内容,但在使用将sendKeys()与Selenium WebDriver Java.lang.CharSequence一起使用时出错,无法解析,java,eclipse,selenium,selenium-webdriver,Java,Eclipse,Selenium,Selenium Webdriver,我已经导入了以下内容,但在使用sendKeys()时仍然出现错误 注意:我在Eclipse中使用SeleniumWebDriver 示例代码如下所示 import org.openqa.selenium.*; import org.openqa.selenium.firefox.*; import org.testng.Assert; import org.openqa.selenium.WebDriver; public class Practice { public static
sendKeys()时仍然出现错误代码>
注意:我在Eclipse中使用SeleniumWebDriver
示例代码如下所示
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(“文本”)代码>
你们谁能告诉我这里有什么不正确的地方吗。你们可以试试这个,类似的问题在这里已经得到了回答
或者干脆
myElement .sendKeys(new String { "text" });
这是因为您的eclipse编辑器
按照以下步骤克服该错误
右键单击java项目李>
选择生成路径>配置生成路径
这里有两件事你需要检查
A.Java构建路径>库-此处编辑器应参考您机器上安装的版本。如果它引用的是旧库文件,请将其删除,然后单击“添加库”,并从列表中选择最新的Jre系统库
Java编译器。这里的编译器符合性级别应该是您机器上安装的最新版本。当您使用JDK8时,您的编译器版本
应该是1.8,只有使用最新的eclipse版本—eclipse才能获得
卢娜。
另一种方法是将JDK8降级为JDK7,它仍然可以工作。我在使用EclipseKepler时遇到了同样的问题
问题域:
我的java编译器遵从性级别为1.4
解决方案:
因此,使用生成路径>>配置生成路径>>java编译器>>将编译器遵从性级别更改为1.7或更高
这可以解决问题。它需要升级编译器遵从性。
对于Eclipse:请执行以下步骤:
右键单击java项目并选择BuildPath->单击ConfigureBuildPath
在项目属性窗口中:单击/选择左面板上的Java编译器
在右侧面板中:将编译器符合性级别从1.4更改为1.7或更高
最后单击应用并确定
检查Eclipse版本Eclipse 4.3(开普勒)及以上版本是否需要升级JAVA JDK 1.8。
安装后只需检查Eclipse:
生成路径>>配置生成路径>>java编译器>>已更改编译器符合性级别为1.8
注意:
1.我建议使用JavaJDK1.8版本和Eclipse4.6(Neon)
2.Selenium 3+版本jar文件仅支持JAVA JDK 1.8及以上版本 面临着同样的问题
升级到Eclipse Luna,然后将编译器版本更改为1.8,问题得到解决
编译器版本1.8不适用于以前的版本问题将在升级到Eclipse Luna,然后将编译器版本更改为1.8时得到解决
编译器版本1.8不适用于以前的版本
您将获得java.lang.CharSequence错误类型。谢谢您提供的信息。行“myElement.sendKeys(新字符串{“text”});”与JRE7一起使用。但是,当我将JRE切换到8时,它会从类型WebElement中抛出方法sendKeys(CharSequence[])以引用缺少的类型CharSequence。您以前是否遇到过这种情况?当从1.7切换到1.8时,我遇到了与.contains(CharSequence…)相同的问题。在这种情况下,字符串和字符串数组之间的区别是什么?它需要在sendKeys方法中传递一个字符串作为参数。最好传递简单的单个字符串,而不是字符串数组。
myElement .sendKeys(new String[] { "text" }); //You could create a string array
myElement .sendKeys(new String { "text" });