域名爬虫。如何点击按钮? "Unable to navigate from a "按钮“标签”。
DomCrawler. How to click button? "Unable to navigate from a "button" tag."
我得到了表格:
<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);
但它显示:
"Unable to navigate from a "button" tag."
(除了 this 之外,是否有任何关于使用 DomCrawler 进行导航的文档)
你有一个提交按钮,没有 link,所以你需要 'press' 它(或提交)。
我在 Goutte Web Scraper 上苦苦挣扎,最终使用 Mink 进行功能测试。您可以阅读my blog about that。它提供了一些有用的信息,此外,如果您关注 Goutte Web Scraper link,那里还有更多信息。
但我要指出的是,无头浏览器并不总是运行良好,尤其是如果您打算使用 Javascript。
对于你的代码,如果你打算使用它,你可能需要做这样的事情:
$form = $crawler->selectButton('Zapisz')->form();
然后填写表格并提交。
我得到了表格:
<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);
但它显示:
"Unable to navigate from a "button" tag."
(除了 this 之外,是否有任何关于使用 DomCrawler 进行导航的文档)
你有一个提交按钮,没有 link,所以你需要 'press' 它(或提交)。
我在 Goutte Web Scraper 上苦苦挣扎,最终使用 Mink 进行功能测试。您可以阅读my blog about that。它提供了一些有用的信息,此外,如果您关注 Goutte Web Scraper link,那里还有更多信息。
但我要指出的是,无头浏览器并不总是运行良好,尤其是如果您打算使用 Javascript。
对于你的代码,如果你打算使用它,你可能需要做这样的事情:
$form = $crawler->selectButton('Zapisz')->form();
然后填写表格并提交。