Ruby中的Watir :: browser-用浏览器捕获的响应捕获所有XHR请求

时间:2018-07-03 15:27:35

标签: ruby ruby-on-rails-4 firefox web-scraping watir

我正在使用以下gems在浏览器中打开网站

gem "watir", "~> 6.1"
gem 'watir-scroll'
gem "geckodriver-helper"
gem 'chromedriver-helper'

我正在为浏览器创建一个实例,以使其对已加载的HTML进行操作,

browser = Watir::Browser.new :firefox
browser.goto "https://www.mysitessss.net/testing"

我只想在使用XHR对象加载后捕获此页面URL发出的所有browser请求,以便获得他们的响应。

请帮助!

2 个答案:

答案 0 :(得分:0)

Webdriver和位于Webdriver之上的WATIR和capybara之类的工具的主要目的是以用户希望的方式驱动浏览器。对产生的网络流量进行深度检查实际上并不是该工具的一部分。

要手动执行此操作,您可以使用开发人员工具的“网络”标签查看加载页面时发生的所有请求。您还可以使用网络嗅探或代理工具,例如fiddler-2,Charles,Wireshark或Netmon。

要以编程方式执行此操作,如果您想实际发出各种api端点的请求并使用XML / JSON,则可能需要使用nokogiri或专门用于解析html的类似gem或与rest-client之类的组合被调用的服务返回。这篇博客文章可能会很有帮助https://readysteadycode.com/howto-extract-data-from-html-with-ruby

答案 1 :(得分:0)

您可以通过以下方式实现此目标:

textView.setText("Sorry")