我已经解决了这个问题:原来我使用 WWW::Mechanize 加载的页面使用 AJAX 加载其中的所有内容,<tbody>因此在我创建 $html 变量时不会加载它。现在我必须看看如何获得这个动态内容......
我正在尝试解析网页中表格的内容。<table>包含 a<thead>和<tbody>a 。当我从<tbody>表格的一部分中获取内容时,我发现它都不存在。我只得到里面的内容<thead>。
我尝试了几种不同的方法,如下所示,所有这些方法都没有从<tbody>.
使用 HTML::TreeBuilder
my $tb = HTML::TreeBuilder->new();
$tb->parse($html);
my $table = $tb->look_down( _tag => 'tbody', id => 'tbody-id' );
使用 HTML::TableExtract
my $te = HTML::TableExtract->new( attribs => { id => 'table-id' } );
$te->parse($html);
my $table=$te->first_table_found;
当我尝试执行print Dumper($table);表中的一个时,我表明我正在找到<table>并且只能看到<thead>or内部的表内容<tbody>以及对它的父级的引用,其中包含来自<thead>.
我可以不太关心<thead>我只需要表格内容中的内容<tbody>。
我不确定我做错了什么以及从这里去哪里。