【问题标题】:Java And GhostDriver : Hide Console and LogsJava 和 GhostDriver:隐藏控制台和日志
【发布时间】:2015-05-12 13:27:08
【问题描述】:

我尝试在java中隐藏控制台和GhostDriver的日志...

- Windows 7.
- JDK is in 1.7.0_75 version.
- PhantomJS 1.9.7 is include with it path.
- GhostDriver 1.1.0 is include in an Eclipse Java SE Project.
- Selenium 2.43.1 is include in an Eclipse Java SE Project.

有办法吗?

我在 cli_args 中尝试了“--webdriver-loglevel=OFF”和“--webdriver-loglevel=NONE”,但它不起作用...

我试过 java -jar myJar.jar > myFile.txt 但它不起作用...

还有其他方法还是可能出错?

代码示例:

    WebDriver driver;
    DesiredCapabilities dCaps;
    dCaps = new DesiredCapabilities();
    dCaps.setJavascriptEnabled(true);
    dCaps.setCapability("takesScreenshot", true);
    dCaps.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS, new String[] {"--ignore-ssl-errors=true", "--ssl-protocol=tlsv1", "--web-security=false", "--webdriver-loglevel=OFF", "--webdriver-loglevel=NONE"});
    dCaps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, phantom);
    driver = new PhantomJSDriver(dCaps);

还有日志(带有虚拟机参数):

   mai 18, 2015 2:09:48 PM org.openqa.selenium.phantomjs.PhantomJSDriverService <init>
   INFOS: executable: C:\Users\212428788\workspace\BigBrowser\phantomjs-1.9.7-windows\phantomjs.exe
   mai 18, 2015 2:09:48 PM org.openqa.selenium.phantomjs.PhantomJSDriverService <init>
   INFOS: port: 48921
   mai 18, 2015 2:09:48 PM org.openqa.selenium.phantomjs.PhantomJSDriverService <init>
   INFOS: arguments: [--ignore-ssl-errors=true, --ssl-protocol=tlsv1, --web-security=false, --webdriver-loglevel=OFF, --webdriver-loglevel=NONE, --webdriver=48921, --webdriver-logfile=C:\Users\212428788\workspace\BigBrowser\phantomjsdriver.log]
   mai 18, 2015 2:09:48 PM org.openqa.selenium.phantomjs.PhantomJSDriverService <init>
   INFOS: environment: {}
   PhantomJS is launching GhostDriver...

非常感谢。

【问题讨论】:

  • 您可以尝试在eclipse中添加VM参数并检查吗?从您的日志中,我可以看到其中一半已被静音。
  • 我做了并编辑了它

标签: java selenium phantomjs ghostdriver


【解决方案1】:

查看以下步骤是否适合您(来自this 线程的回答):

  • 像这样创建一个字符串数组:

    String[] phantomArgs = new  String[] {
            "--webdriver-loglevel=NONE"
    };
    
  • 将以下行添加到您的DesiredCapabilities

    capabilities.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS, phantomArgs);
    
  • 我对 PhantomJSDriver 的配置是这样的:

    //set binary path of phantomJS driver
    DesiredCapabilities capabilities = new DesiredCapabilities();       
    capabilities.setJavascriptEnabled(true);
    capabilities.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, "drivers/phantomjs.exe");
    capabilities.setCapability(PhantomJSDriverService.PHANTOMJS_PAGE_SETTINGS_PREFIX,"Y");
    capabilities.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS, phantomArgs);
    capabilities.setCapability("phantomjs.page.settings.userAgent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:16.0) Gecko/20121026 Firefox/16.0");
    
    //intialize driver and set capabilties
    PhantomJSDriver driver = new PhantomJSDriver(capabilities);
    
  • 右键单击您的项目并选择Run As->Run Configurations->Arguments并将VM参数-Djava.util.logging.config.file=logging.properties添加到VM Arguments:

  • 点击应用,然后点击运行

【讨论】:

  • 感谢 VM 参数,但它对我不起作用
  • 这对我来说很好用。 “它对我不起作用”是什么意思?您是否添加了 VM 参数?您是否添加了capabilities.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS, phantomArgs); 行?你看到多少日志?请具体
  • 是的,我的 cli_args 没问题,我有相同的功能代码...但是控制台中的 PhantomJS 和 GhostDriver 登录没有禁用...您想要确切的代码和日志吗?
  • 是的,如果您可以编辑您的问题并添加这些详细信息,那将会有所帮助。
【解决方案2】:

我找到了答案,只需将 jar 安装为 Windows 服务...

【讨论】:

    猜你喜欢
    • 2014-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-18
    • 2014-02-28
    相关资源
    最近更新 更多