是否可以使用页面对象/水豚/Selenium Webdriver 下载包含在网页中的 YAML?
Is it possible to download an YAML contained in a webpage using Page Objects / Capybara / Selenium Webdriver?
我有一个只显示 YAML 文件的网页。
无论如何我可以得到那个 YAML 文件,所以我可以使用黄瓜项目保存它(使用页面对象、水豚和 Selenium Webdriver,它在 Ruby)。
谢谢
所以,我只需要获取正文并将其内容保存到 YAML 文件中。
body = @browser.find_element(:tag_name => 'body')
f = File.new "#{path}/info.yml"
f.write body.text
无需在浏览器中查看 YAML 文件,然后从 HTML 中解析 YAML,您可以直接下载 YAML 文件:
- 确定 YAML 文件的位置
- 使用 Open-URI 下载文件
假设该页面有一个 link 到 YAML 文件,如:
<a href="invoice.yaml" id="invoice">Invoice Number</a>
然后您可以下载文件并将其保存到磁盘,使用:
require 'capybara'
require 'open-uri'
# Specify where to save the file
save_location = 'C:\some\file\path\name.yaml'
# Go to the page that has the link to the YAML file
page = Capybara::Session.new(:selenium)
page.visit('http://www.your_page.com')
# Determine the location of the YAML file
yaml_link = page.find('#invoice')
yaml_location = yaml_link['href']
# Save the file to disk
File.open(save_location, "w") do |file|
file.puts open(yaml_location).read
end
我有一个只显示 YAML 文件的网页。 无论如何我可以得到那个 YAML 文件,所以我可以使用黄瓜项目保存它(使用页面对象、水豚和 Selenium Webdriver,它在 Ruby)。
谢谢
所以,我只需要获取正文并将其内容保存到 YAML 文件中。
body = @browser.find_element(:tag_name => 'body')
f = File.new "#{path}/info.yml"
f.write body.text
无需在浏览器中查看 YAML 文件,然后从 HTML 中解析 YAML,您可以直接下载 YAML 文件:
- 确定 YAML 文件的位置
- 使用 Open-URI 下载文件
假设该页面有一个 link 到 YAML 文件,如:
<a href="invoice.yaml" id="invoice">Invoice Number</a>
然后您可以下载文件并将其保存到磁盘,使用:
require 'capybara'
require 'open-uri'
# Specify where to save the file
save_location = 'C:\some\file\path\name.yaml'
# Go to the page that has the link to the YAML file
page = Capybara::Session.new(:selenium)
page.visit('http://www.your_page.com')
# Determine the location of the YAML file
yaml_link = page.find('#invoice')
yaml_location = yaml_link['href']
# Save the file to disk
File.open(save_location, "w") do |file|
file.puts open(yaml_location).read
end