【问题标题】:Selenium Chrome Driver In Tomcat is not working why?Tomcat 中的 Selenium Chrome 驱动程序无法正常工作,为什么?
【发布时间】:2018-08-24 09:18:39
【问题描述】:

正在尝试在 Tomcat 服务器中使用 java 运行我的 selenium 自动化代码。当我使用 javac 运行时它工作正常,但是当它作为 jar 在 Tomcat 上运行时它显示“com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V|”作为日志。这里我的 selenium-chrome 驱动放在我本地机器的桌面并定义了路径(Tomcat也是本地服务器)

【问题讨论】:

  • 无论你用哪种方式来做都没有关系。在所有方法中,您都将逐行读取文件。

标签: java selenium tomcat selenium-webdriver selenium-chromedriver


【解决方案1】:

我会使用这样的缓冲文件阅读器:

public static void main(String[] args) throws IOException {
    try {
        File f = new File("data.txt");
        BufferedReader b = new BufferedReader(new FileReader(f));
        String readLine;
        while ((readLine = b.readLine()) != null) {
        if (readLine.contains("WORD"))
            System.out.println("Found WORD in: " + readLine);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

其中“WORD”是您要搜索的单词。

BufferedReader 的优势在于它提前读取以减少 I/O 往返次数 - 或者正如他们在 JavaDoc 中所说的那样:“从字符输入流中读取文本,缓冲字符以便提供字符、数组和行的高效读取。”

FileChannel 是一个稍新的发明,在 Java 1.4 中出现在 NIO 中。它的性能可能比 BufferedReader 更好——但我也发现它的 API 更底层,所以除非你有非常特殊的性能要求,否则我会将预读/缓冲留给BufferedReaderFileReader

您也可以说BufferedReader 是“面向行”,而FileChannel 是“面向字节”。

【讨论】:

  • 为什么这个答案没有评论就“不被接受”?
  • 因为该问题已被编辑为对他的网站进行好评的请求。我已将其回滚(但这无助于您接受)
【解决方案2】:

我最喜欢 Java.io 的 BufferedReader 和 FileReader:

它易于使用并且具有大多数功能。但是您的文件必须是基于字符的才能使用(如文本文件)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-03
    • 1970-01-01
    • 2012-01-04
    • 2016-05-03
    • 2019-02-08
    • 1970-01-01
    • 2018-04-08
    • 2021-09-28
    相关资源
    最近更新 更多