【问题标题】:Selenium Java WebDriverWait - cannot access java.util.functionSelenium Java WebDriverWait - 无法访问 java.util.function
【发布时间】:2019-03-22 09:30:39
【问题描述】:

当我在我的 Java 项目中使用 WebDriverWait 时,IDEA 的响应是:

Error:(17, 9) java: cannot access java.util.function.Function
  class file for java.util.function.Function not found

我在一个类似的项目中使用这个命令,我没有问题。

    @Test
    public void testLogin () {

    new WebDriverWait(driver,20)
        .until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//input[@type='email']")));
    driver.findElement(By.name("email")).clear();
    driver.findElement(By.name("email")).sendKeys(Email);
    driver.findElement(By.name("password")).clear();
    driver.findElement(By.name("password")).sendKeys(Password);
    driver.findElement(By.name("submit")).click();

【问题讨论】:

  • 你在使用 java >= 8 吗?
  • @SirLenz0rlot 我认为你的意思是 Java
  • @C.Peck 我的意思是我输入的未决问题 :) - 但感谢您添加更多上下文

标签: java selenium webdriverwait


【解决方案1】:

有点不清楚你的项目是如何构建的,如果你有的话:

  • 已下载标准 Seleniu-Java 客户端 jar 或
  • 使用 MavenGradle

您可能正在使用 Maven,根据 Error:(57, 38) java: The type java.util.function.Function cannot be resolved. It is indirectly referenced from required .class files,此问题是由 Java 1.7 被指定为 pom 中的目标版本引起的.xml.

java.util.function.Function 被添加到 Java 1.8

解决办法:

  • 更新到 JDK v1.8
  • 如果使用 Maven,更新:

    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
    
  • 如果使用 Gradle,请将以下内容添加到您的 build.gradle 文件中

    plugins {
         id 'java'
    }
    
    sourceCompatibility = '1.8'
    targetCompatibility = '1.8'
    version = '1.2.1'
    
  • 清理你的项目工作区通过你的IDE(来自Project -> Clean ...) 并重建您的项目仅使用所需的依赖项。

【讨论】:

  • 我还必须在 pom.xml 中为 maven-compiler-plugin 指定 1.8 版
猜你喜欢
  • 1970-01-01
  • 2019-12-11
  • 2018-03-09
  • 2018-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-20
  • 1970-01-01
相关资源
最近更新 更多