加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

有没有办法在Java驱动程序中使用PhantomJS的onResourceRequested

发布时间:2020-12-15 04:45:05 所属栏目:Java 来源:网络整理
导读:我想避免在PhantomJS中加载css文件.我正在使用 Java驱动程序. 我为PhantomJS看到了一个很好的示例js代码: page.onResourceRequested = function(requestData,request) { if ((/http://.+?.css/gi).test(requestData['url']) || requestData['Content-Typ
我想避免在PhantomJS中加载css文件.我正在使用 Java驱动程序.
我为PhantomJS看到了一个很好的示例js代码:

page.onResourceRequested = function(requestData,request) {
    if ((/http://.+?.css/gi).test(requestData['url']) || requestData['Content-Type'] == 'text/css') {
        request.abort();
    }
};

我的代码使用像这样的PhantomJSDriver(scala):

val sb = new PhantomJSDriverService.Builder()
val svc = sb.usingPhantomJSExecutable(new java.io.File("./phantomjs")).usingCommandLineArguments(Array("--load-images=false","--disk-cache=true")).build()

有没有办法可以通过Java API实现相同的功能?

解决方法

我能够使用PhantomJSDriver#executePhantomJS方法注册页面的onResourceRequested回调.

以下是禁用Google Analytic请求的示例:

PhantomJSDriver driver = new PhantomJSDriver(service,capabilities);
driver.executePhantomJS("this.onResourceRequested = function(request,net) {" +
        "   console.log('REQUEST ' + request.url);" +
        "   if (request.url.indexOf('google-analytics') !== -1) {" +
        "       console.log('Abort ' + request.url);" +
        "       net.abort();" +
        "   }" +
        "};");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读