使用Watir如何访问网页的所有链接,然后访问访问链接的子链接

时间:2012-08-14 12:49:17

标签: watir

强文本我有一个网页,其中包含多个链接,当我们点击任何链接时,它会重定向到另一个也包含多个链接的页面,就像所有链接都有几个页面一样。 我想点击所有链接,当我点击第一个链接脚本时应点击重定向页面的所有链接等等...当它完成点击链接时,再次点击第一页的第二个链接链接喜欢明智的链接。

请任何人都可以帮助我,我已经开发了脚本,通过该脚本我可以点击主(第一)页面的所有链接,但不知道如何为应用程序的子页面执行此操作。 请尽快恢复,非常紧急。

1 个答案:

答案 0 :(得分:2)

你只需要实现一些这样的递归函数:

def crawl(link)
  browser.goto link

  # gather all links before navigating to next link
  all_links = browser.links.reduce([]) do |memo, link|
    memo << link if link.href =~ /appdomain/ # do not visit external links
    memo
  end

  all_links.each do |link|
    crawl link
  end
end

crawl "http://appdomain.com/"

这是未经测试的代码,但可能有效:)

此代码也不会避免从不同位置点击两次到同一路径的链接 - 还有优化空间。

可能是因为你的工作使用了错误的工具 - 至少在阅读你的问题时似乎是这样。原始问题是什么?