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

时间:2016-03-03 15:50:06

标签: ruby nokogiri mechanize

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

<div class="init-modal"></div>

但是,我需要修改点击链接中使用的uri。

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

我该怎么做?

我应该补充一点,我已经尝试了以下[应该早些时候提到这些,然后一些不屈不挠的灵魂不会标记我的问题!] ...

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

1 个答案:

答案 0 :(得分:0)

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

非常感谢!