Symfony Crawler用于调用ajax的按钮

时间:2014-12-26 11:02:00

标签: ajax symfony web-scraping

Here我需要点击$(' button-see-more'),这会触发ajax调用并在页面上加载更多内容。我正在尝试

$link = $crawler->selectLink('See More Products')->link();
$crawler = $client->click($link);

但是那个因为它没有任何锚标签而无法工作。 这是HTML,按钮实际上是一个元素,我想模拟点击它

<div class="paging">
        <div class="mtl">
            <div class="button-see-more txtCenter" data-current-page="1" data-total-pages="3" data-txt-seemore="See More Products" data-txt-loading="Loading  More Items for Phones">
                <span class="i-loader hidden"></span>
                <span class="text">See More Products</span>
            </div>
        </div>
    </div>

我该怎么做?感谢

1 个答案:

答案 0 :(得分:5)

使用抓取工具,您无法检测来自javascript的链接, 但如果您已经有ajax链接,则可以通过此方法模拟您的请求

$crawler = $client->request('GET', '/foo/', array(), array(), array(
    'HTTP_X-Requested-With' => 'XMLHttpRequest',
));