ruby - 如何在单击之前修改 Ruby Mechanize::Page::Link 的 href

标签 ruby nokogiri mechanize

我有一个使用 Mechanize session 检索的页面,我需要单击 Mechanize::Page::Link,如下例所示:

my_link = @session.page.link_with(:id => "aPageLink")
# my_link.class == Mechanize::Page::Link
.
.
.
@session.click(my_link)

但是,我需要在单击链接之前修改链接中使用的 uri。
my_link = @session.page.link_with(:id => "aPageLink")
# my_link.class == Mechanize::Page::Link
.
.
.
# modify my_link here
.
.
.
@session.click(my_link)

我该怎么做?

我应该补充一点,我已经尝试了以下内容[应该早点提到这些,那么一些无情的灵魂就不会记下我的问题!]...
my_link.href = "my/modified/uri"
my_link['href'] = "my/modified/uri"

最佳答案

pguardiario 建议的解决方案如下。

my_link = @session.page.link_with(:id => "aPageLink")

# modify my_link
modified_link = my_link.href
modified_link.sub!(/modification/, '')

# @session.click(my_link) <-- now replaced with following line
@session.get modified_link, [], my_link.referer

非常感谢!

关于ruby - 如何在单击之前修改 Ruby Mechanize::Page::Link 的 href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35776756/

相关文章:

ruby-on-rails - 未定义方法 `update_attributes' 为 nil :NilClass

类名的 Ruby 未初始化常量 NameError

python - BeautifulSoup 和 Amazon.co.uk

ruby - 如何在 ruby​​ 中抓取下一页

Python Mechanize 向没有 ID 或名称的表单输入添加值

javascript - AngularJS 和 ui-view 导致无限递归

ruby - RSpec - 如何测试包含 HTTParty 的类

ruby-on-rails - 如何获取列表中具有相同类别的所有项目

ruby-on-rails - 使用 Nokogiri 错误缓存 Youtube API XML 响应 - 编码错误?

ruby-on-rails - Nokogiri- 解析 HTML <a href> 并仅显示部分 URL