Выполнить js не удалось с помощью HtmlUnit - PullRequest
0 голосов
/ 25 марта 2020
        String htmlURL = "https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&auto=0&vid=wxv_1185953007494676480"        

        WebClient webClient = new WebClient(BrowserVersion.CHROME);
        webClient.getOptions().setJavaScriptEnabled(true);
        webClient.getOptions().setCssEnabled(false);
        webClient.getOptions().setRedirectEnabled(true);
        webClient.getOptions().setThrowExceptionOnScriptError(false);
        webClient.getOptions().setTimeout(5000);

        HtmlPage page = webClient.getPage(htmlURL);
        webClient.waitForBackgroundJavaScript(10000);

        String pageXML = page.asXml();

Это мой тестовый код, и я хочу получить реальную ссылку на видео в htmlURL. Тег <video> генерируется после выполнения ниже js:

<script type="text/javascript">
(function(){
    var container = document.getElementById('js_mpvedio');
    var w = container.offsetWidth;
    var ratio = 16/9;
    var h = w/ratio;
    container.style.height = h+"px";
})();
    window.cgiData = {
        auto: "0" * 1, 
        height : ""*1, 
        scene : ""*1||0, 
        vid : "wxv_1185953007494676480",
        txvideo_vid : "" 
    };
    seajs.use("pages/video_player_tmpl.js"); // generate <video> tag here
</script>

Но мой тестовый код не сработал.

...