【问题标题】:What am I messing up我在搞砸什么
【发布时间】:2018-11-08 00:03:58
【问题描述】:
package Testsel3;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class Classel3 {

public static void main(String[] args) {
    System.setProperty("webdriver.chrome.driver", "C:\\Users\\xyz's 
Laptop\\Chromerdriver\\chromedriver.exe");
    WebDriver driver = new ChromeDriver(); 

    driver.get("https://www.gmail.com");
    driver.manage().window().maximize(); 
    driver.findElement(By.id("identifierId")).sendKeys("xyz@gmail.com");

} 

}

当我尝试运行上述脚本时,我收到一条错误消息:此行有多个标记 - 来自 WebElement 类型的方法 sendKeys(CharSequence...) 指的是缺少的类型 CharSequence

  • 无法解析类型 java.lang.CharSequence。它是从所需的 .class 文件中间接引用的

【问题讨论】:

    标签: eclipse selenium


    【解决方案1】:

    如果您在 Eclipse IDE 中收到上述错误消息,那么您必须使用 Java 版本 8 java JDK 8。与以前的 JDK 相比,在 JDK 8 中,CharSequence 类具有新的默认方法导致此问题。

    快速修复试试这个:

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

    所以它不使用 CharSequence,似乎您使用的 JDK 版本比编译时使用的 Selenium 版本更新。您也可以尝试以下方法。

    1. 右键单击项目转到 java 编译器设置并将合规级别降低到 1.5
    2. 下载较新版本的硒罐。

    【讨论】: