DomCrawler。如何点击按钮? "无法从"按钮" 。标签#&34;

时间:2016-10-24 15:54:39

标签: symfony domcrawler

我得到了表格:

<button type="submit" id="dostawa_zapisz" name="dostawa[zapisz]">Zapisz</button>
<input type="hidden" id="dostawa__token" name="dostawa[_token]" value="foo">

并想点击它:

//        $link = $crawler->filter('button:contains("Zapisz")')->link();
//        $link = $crawler->filterXPath('//*[@id="dostawa_zapisz"]')->link();
        $link = $crawler->selectButton('dostawa[zapisz]')->link();
        $crawler = $client->click($link);

但它显示:

  

&#34;无法从&#34;按钮&#34; 。标签&#34;

(是否有任何关于使用除this以外的DomCrawler进行导航的文档)

1 个答案:

答案 0 :(得分:2)

这是你的提交按钮,没有链接,所以你需要'按'(或提交)。

我与Goutte Web Scraper挣扎,并最终使用Mink进行功能测试。你可以阅读my blog about that。它有一些有用的信息,如果你按照Goutte Web Scraper链接,还有更多的信息。

但我指出无头浏览器并不总是运行良好,特别是如果你打算使用Javascript。

对于您的代码,如果您打算使用它,则可能需要执行以下操作:

$form = $crawler->selectButton('Zapisz')->form();

然后填写表格并提交。