首页 > 解决方案 > Curl - Php 获取使用 ajax 更新的元素内容

问题描述

我有这个代码:

$status_url = $site_properties["status_url"];
        //$listeners_url = $site_properties["listeners_url"];
        //$messages_url = $site_properties["messages_url"];
        
        //$html = file_get_html($status_url);
        
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $status_url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

        $res = curl_exec($ch);

        curl_close($ch);

        $dom = new DomDocument();
        @ $dom->loadHTML($res);
        
        $radio_listeners = $dom->getElementById('listeners_cont');
        echo $radio_listeners->textContent;
    

我想知道如何编写此脚本以等待几秒钟(例如 10 秒),以便 $status_url 页面中的 setInterval ajax 将启动并且所有字段都将正确更新。

一些屏幕截图来解释:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

标签: phpajaxcurldom

解决方案


curl并且PHP根本不执行任何javascript。您需要PhantomJS之类的东西- 或者只是在浏览器的网络选项卡中获取 AJAX 调用并仅实现此调用。


推荐阅读