我正在使用带有无头浏览器的 watir。我需要执行三个步骤添加位置,添加车辆并从另一个站点获取产品,以获得我想要从另一个站点获取的信息。我正在从我的服务器提交这三个详细信息,并在 watir 和 headless 的帮助下在一个 HTTP 请求中执行这三个步骤。
我只想在我的服务器上将一个 http 请求分解为三个 http 请求。请求将是: 1)add_location:触发一个 http 请求,该请求将打开无头浏览器并选择位置。
2)add_vehicle:触发一个http请求,该请求将重用添加位置的无头浏览器,我们将选择车辆。
3)获取产品:触发一个http请求,该请求将重用添加位置和车辆的无头浏览器,将获取产品列表。
我没有任何方法可以重用已在 rails 端的下一个 http 请求中打开的 watir 和无头会话。
代码示例:
class TestsController < ApplicationController
def add_location
@headless = Headless.new
@headless.start
@watir = Watir::Browser.new
@watir.goto('www.google.com')
@watir.text_field(id: 'findstore-input')
.wait_until(&:present?).set(params[:zip_code])
@watir.a(id: 'findstore-button').click
@watir.div(class: 'notifier').wait_while(&:present?)
end
def add_vehicle
#need to resuse above @watir object in this action
end
end