我正在尝试与一个充满图片的网站进行互动,并希望通过点击每个图片与其进行互动。每个图像具有相对URL(例如:/ image / 1000 /,image / 1023 /等)。我假设的数字是image_id,看起来是随机的,而不是连续的顺序。
这就是我在rails console中所做的:
agent = Mechanize.new
agent.get('http://www.website.com')
agent.page.links_with(:href => '/image')
最后一行没有返回任何东西,但是当我尝试
时agent.page.link_with(:href => '/image/1000/')
按预期返回链接。
我很确定问题出在:href参数中,它不应该是'/ image'。但我尝试了其他组合,如'/ image /','/ image / *'等,但它仍然没有返回任何内容。
感谢任何建议。
答案 0 :(得分:1)
注意:未经测试
尝试:agent.page.links_with(:href => /\/image\/(\d{1,})/)
。 links_with文档显示正在使用的正则表达式,所以我认为这将正常工作。此外,$1
将返回您的image_id
。
http://mechanize.rubyforge.org/Mechanize/Page.html#method-i-links_with-28criteria-29