我不知道如何读取当前的html元素(Crawler类的实例)类型。 例如:
$html = <<<'HTML'
<div>
<p class="message">Hello World!</p>
<p>Hello Crawler!</p>
</div>
HTML;
$crawler = new Crawler($html);
$type = $crawler->getType(); // it should return 'div' but such method doesn't exist
file_put_contents('log.txt', $type, FILE_APPEND);
答案 0 :(得分:0)
我认为您正在寻找的是:
$crawler->nodeName
在您的具体情况下,如果您使用分支任何分支,最多2.5:
$crawler->filter('body')->children()->getNode(0)->nodeName
如果你使用的是master分支,你可以更优雅地做到这一点:
$crawler->filter('body')->nodeName()
Symfony Crawler尝试“修复”您的HTML并将其打包到html>body
标记中(如果它们不存在)。我不知道是否可以禁用此功能。