Apache HttpClient 4 и JavaScript - PullRequest
       15

Apache HttpClient 4 и JavaScript

2 голосов
/ 31 августа 2011

Я использую Apache HttpClient для доступа к веб-странице. я хочу нажать на ссылку, но ссылка на javaScript, как мне обработать щелчок на ссылке javascript и выполнить перенаправление URL?

образец кода JavaScript и HTML:

<a href="javascript:send(32023, 'YGHN_JKM', '8LMK');"> link</a>


function send(content_id, fic, cgRate) {
        var params = new Hash();
        params.set('content_id', content_id);
        params.set('tool', fic);
        params.set('cgRate', cgRate);

        new Ajax.Updater('return', '/mypkg/tools', {
            method: 'post',
            parameters: params,
            evalScripts: true,
            onInitialize: new Effect.Appear('loader', {duration: 0.0}),
            onComplete: new Effect.Fade('loader', {duration: 1.2})
        });
}

1 Ответ

7 голосов
/ 01 сентября 2011

Похоже, что страница, на которую вы пытаетесь попасть, использует AJAX для получения ссылки. Было бы трудно эмулировать это поведение с помощью простого HTTPClient. HTTPClient для «сырого» HTTP-общения, а не для эмуляции браузера. Вместо этого я рекомендую использовать что-то похожее на HtmlUnit, который может эмулировать браузер и выполнять JavaScript на странице: http://htmlunit.sourceforge.net/

HtmlUnit имеет довольно хорошую поддержку JavaScript, но она не идеальна. Если вам нужно полностью эмулировать браузер на 100%, вам нужно использовать среду автоматизации браузера, такую ​​как Selenium: http://seleniumhq.org/

...