在页面上查找与 HREF 模式匹配的链接
我正在尝试与一个充满图像的网站进行交互,并希望通过单击每个图像来与其进行交互。每个图像都有一个相对 URL(例如:/image/1000/、image/1023/ 等)。我假设的数字是 image_id 并且似乎是随机的,而不是连续的顺序。
这就是我在 Rails 控制台中所做的:
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/* ' 等,但它仍然没有返回任何内容。
感谢任何建议。
I am trying to interact with a website full of images and want to interact with it by clicking on each image. Each image has a relative url (eg: /image/1000/, image/1023/, etc). The number I assume is the image_id and appears to be random, not in consecutive order.
This is what I did in rails console:
agent = Mechanize.new
agent.get('http://www.website.com')
agent.page.links_with(:href => '/image')
The last line did not return anything but when I tried
agent.page.link_with(:href => '/image/1000/')
It returns the link as expected.
I am pretty sure the problem is in the :href parameter, it should not be '/image'. But i tried other combinations like '/image/' , '/image/* ', etc and it still return nothing.
Appreciate any advice.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(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
Note: untested
Try:
agent.page.links_with(:href => /\/image\/(\d{1,})/)
. The links_with documentation shows a regexp being used so I assume this will work fine. Also,$1
will return yourimage_id
.http://mechanize.rubyforge.org/Mechanize/Page.html#method-i-links_with-28criteria-29