【发布时间】:2013-08-07 15:32:24
【问题描述】:
我遇到了一个大问题。我有 12 个具有相同类的元素 - “评论”。在每个按钮中单击。
我需要知道如何选择(例如 12 个中的 3 个)并仅在此处单击按钮。
是否存在任何选择器或其他东西?请给我一些建议。
【问题讨论】:
标签: perl firefox selector mechanize www-mechanize-firefox
我遇到了一个大问题。我有 12 个具有相同类的元素 - “评论”。在每个按钮中单击。
我需要知道如何选择(例如 12 个中的 3 个)并仅在此处单击按钮。
是否存在任何选择器或其他东西?请给我一些建议。
【问题讨论】:
标签: perl firefox selector mechanize www-mechanize-firefox
$mech->click 可以将 CSS 选择器或 XPath 查询作为参数。如果您知道要点击的按钮总是是第三个,您可以使用类似nth-of-type CSS 选择器的东西来精确定位它。
编辑:基于 OP 的 cmets 使用 XPath 的示例(我尚未对此进行测试)。使用qq 允许在XPath 语句中进行变量插值。请注意,您必须对出现的 @ 进行反斜杠转义,因此 qq 不会将它们解释为数组:
my $author = 'xxx';
$mech->click({ xpath => qq(//div[\@class="com" and \@author="$author"]/button) });
【讨论】: