Есть ли способ использовать обратный вызов onResourceRequested PhantomJS в драйвере Java?

Я хочу избежать загрузки CSS-файлов в PhantomJS. Я использую драйвер Java. Я видел хороший пример кода JS для PhantomJS, как это:

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?

1 ответ

Я смог зарегистрировать страницу onResourceRequested обратный вызов с использованием PhantomJSDriver#executePhantomJS метод.

Вот пример отключения запросов 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();" +
        "   }" +
        "};");
Другие вопросы по тегам