【问题标题】:Archive for required library: 'lib/Chrome/chromedriver' in project 'XYZ' cannot be read or is not a valid ZIP file using ChromeDriver Selenium Java所需库的存档:无法读取项目“XYZ”中的“lib/Chrome/chromedriver”或者不是使用 ChromeDriver Selenium Java 的有效 ZIP 文件
【发布时间】:2020-03-22 02:23:47
【问题描述】:

尝试在 Eclipse 中从 Selenium JAVA 项目调用 Chrome 驱动程序,出现构建错误。

尝试的操作:

  • System.setProperty("webdriver.chrome.driver","//Path//chromedriver");
  • PATH 变量添加了可执行文件。
  • 将可执行的 Chrome 驱动程序.exe 添加到构建路径。

仍然出现构建错误。如错误中所述,路径中存在 chrome 驱动程序 .exe

错误:

所需库的存档:项目“FirstSeleniumTest”中的“lib/Chrome/chromedriver”无法读取或不是有效的 ZIP 文件 FirstSeleniumTest 构建路径构建路径问题

【问题讨论】:

    标签: java eclipse macos maven selenium


    【解决方案1】:

    自动化人员的常见问题之一。您可以通过以下方式解决此问题:

    1. 将 ChromeDriver exe 保留在项目根目录中。无需做任何事情。

    2. 如果您将 ChromeDriver 保留在 ProjectRoo/resources 中,那么您必须使用 System.setProperty("webdriver.chrome.driver",System.getProperty("user.dir")+File.seprator+"resources/chromedriver.exe");

    在您的第 1 步中 - 您错过了 .exe 扩展名。 System.setProperty("webdriver.chrome.driver","//Path//chromedriver.exe");

    希望对你有所帮助。

    【讨论】:

    • 当我将 .exe 文件放在项目根文件夹中时,仍然出现以下错误。 java.lang.module.FindException: 模块格式无法识别 -- .exe 文件的路径在 MAC 中使用它没有为文件提供 .exe。
    • 与您分享一项工作。使用 WebDriverManager APO 自动管理您的 webdrivers。 github.com/bonigarcia/webdrivermanagerWebDriverManager.chromedriver().proxy("--proxy-server=10.1:8080").setup(); driver = new ChromeDriver(options);
    【解决方案2】:

    此错误消息...

    Archive for required library: 'lib/Chrome/chromedriver' in project 'FirstSeleniumTest' cannot be read or is not a valid ZIP file
    

    ...暗示 ChromeDriver 无法启动/产生新的 Browsing ContextChrome Browser 会话。


    由于库冲突以及在大多数情况下将 用作构建工具时,会观察到此问题。可能本地(maven)存储库中的现有库是错误的,maven 尝试打开,但失败了。


    解决方案

    以下步骤将解决该问题:

    • 确保您系统中的 JDK 和 eclipse 中的版本相同。
    • Libs 目录中删除所有jar 文件,然后再次复制 -> 粘贴 原始jar。最后做一个Clean -> Rebuild
    • (如果使用ma​​ven)删除对应的maven下载文件夹即.m2并在eclipse中做maven -> update project
    • (如果使用 ma​​ven)有时只删除 /.m2/repository 有效。
    • 有时只需关闭重新打开项目也可以工作。
    • 尝试使用没有m2e 功能的Eclipse
    • 当您使用 时,您不需要添加扩展名,即 .exe(如 Windows),如下所示:

      System.setProperty("webdriver.chrome.driver","/path/to/chromedriver");
      

    tl;博士

    您可以在以下位置找到一些相关讨论:

    【讨论】:

      【解决方案3】:

      问题已解决,需要将 chromedriver.exe 文件切换为可执行文件并添加到 .exe 文件以构建不需要的路径。

      【讨论】:

      • 这不正是我在answerAs you are using macos you don't need to add the extension i.e. .exe (like Windows) as follows 的最后一个要点中提到的吗?
      猜你喜欢
      • 2013-10-31
      • 2019-01-24
      • 2013-12-27
      • 2014-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多