如何使用WWW :: Mechanize :: Firefox选择没有类或ID的特定HTML元素?
问题描述:
我想通过页面上的链接进行循环,但我只想循环访问特定的页面。问题在于<a>
锚点中的链接根本没有CSS ID或类。如何使用WWW :: Mechanize :: Firefox选择没有类或ID的特定HTML元素?
例如。
<a title="View More Information on FOO" href="tranlist.phtml?scode=FOO&sname=&refpg=1&snapcode=&ssector=1123&scheme=default" name="tranlist">
唯一独特的东西是name
,但它似乎并不像它可以用CSS选择器来指定。
答
从CSS specification开始,像a.normal
这样的CSS选择器与a[class~=normal]
相同,并且可以通过该方式匹配任何属性。所以你需要
$mech->selector('a[name=tranlist]')
答
$mech->find_link(name => "something")
name_contains
和name_regex
也可提供。
[编辑:find_link_dom
返回由Firefox指定的MozRepl::RemoteObject::Instance
对象,而不是由find_link
返回的标准WWW::Mechanize::Link
对象。修改为更通用的情况。]