【问题标题】:Mechanize links_with is not filtering the text properly机械化 links_with 没有正确过滤文本
【发布时间】:2013-12-03 00:37:36
【问题描述】:

我正在尝试单击带有 Mechanize gem 的链接列表,但显然 Mechanize 的 links_with(criteria) 没有根据标准正确过滤。出于调试目的,我只打印出链接。

以下脚本打印出页面上的大部分(全部?)链接:

require 'mechanize'

agent = Mechanize.new
url = "http://www.fearlessphotographers.com/location/470/sul-do-brasil"

agent.get(url)
agent.page.links_with(:text => /[VIEW FULL PROFILE]/).each do |link|
    puts link.text
end

如果我将(:text => /[VIEW FULL PROFILE]/) 更改为(:text => "VIEW FULL PROFILE"),则根本不会打印任何链接。

我不明白我做错了什么。有什么想法吗?

【问题讨论】:

    标签: ruby mechanize mechanize-ruby


    【解决方案1】:

    括号[] 在正则表达式中有特殊含义。你需要用斜杠/\[\]/ 来逃避它们。

    再想一想,这些链接中没有括号,所以把它们排除在外。

    page.links_with :text => /View Full Profile/
    

    还要注意,文本似乎用 css 变成了大写()。

    【讨论】:

    • 哦,真是个菜鸟的错误。这确实是上限问题。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-12
    • 1970-01-01
    • 2012-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多