用于WWW::Mechanize::Firefox
选择项目时,是否可以遍历多个具有相同名称的选择器?
我使用以下代码:
my $un = $mech->selector('input.normal', single => 1);
响应是2 elements found for CSS selector
。有没有办法使用 XPath 或更好的方法,或者是否可以循环遍历结果?
加分项:输入输入,即使它不在表单元素中(即使用 JavaScript)
用于WWW::Mechanize::Firefox
选择项目时,是否可以遍历多个具有相同名称的选择器?
我使用以下代码:
my $un = $mech->selector('input.normal', single => 1);
响应是2 elements found for CSS selector
。有没有办法使用 XPath 或更好的方法,或者是否可以循环遍历结果?
加分项:输入输入,即使它不在表单元素中(即使用 JavaScript)
使用single
您指定的选项,应该有一个与选择器匹配的元素。这就是为什么在找到两个匹配项时会收到错误消息的原因。
该方法将返回一个匹配列表,您可以使用one => 1
代替single => 1
,如果没有至少一个匹配,这将引发 van 错误,或者您可以完全不使用该选项,它只会返回它的所有内容发现。
my @inputs = $mech->selector('input.normal')
@inputs
将用匹配元素列表填充数组<input>
,无论有多少。
模块文档包含以下示例:
my $link = $mech->xpath('//a[id="clickme"]', one => 1);
# croaks if there is no link or more than one link found
my @para = $mech->xpath('//p');
# Collects all paragraphs