【发布时间】:2013-03-08 17:37:01
【问题描述】:
当使用WWW::Mechanize::Firefox 选择一个项目时,是否可以遍历多个具有相同名称的选择器?
我使用以下代码:
my $un = $mech->selector('input.normal', single => 1);
回复是2 elements found for CSS selector。有没有办法使用 XPath 或更好的方法,或者是否可以循环遍历结果?
加分项:输入输入,即使它不在表单元素中(即使用 JavaScript)
【问题讨论】:
-
我不明白你的“奖励点”。请解释
-
我不确定如何将数据输入到输入中(不在表单中),所以我不能使用“submit_form”。但是我使用了文档,发现您可以使用 ->field([selector], value => x)。所以奖励积分没了。谢谢鲍罗丁,感谢您的帮助。现在有一个问题,我无法选择页面上的第二个输入,使用“two => 1”......所以除非你说不同,否则我将不得不使用数组。
-
你还是误解了option参数的用途。 always 方法返回所有匹配选择器的元素。该选项根据找到的匹配数指定引发异常的条件。
one表示必须至少有一个匹配,single表示必须恰好有一个匹配,maybe要求没有匹配或只有一个匹配:多于一个匹配是错误的。没有two。要访问第二个<input class="normal">元素,只需在我的示例中使用$inputs[1]。 -
好的,谢谢它现在更有意义了。哈,这个例子直接引用要好得多......我使用的是 foreach
标签: perl www-mechanize-firefox