将图像保存在watir-webdriver中
我需要将图像从recaptcha保存到localhost磁盘,我使用watir-webdriver获取图像dom元素,但它不支持save方法,就像watir一样。 那么如何将图像保存到我的磁盘? HTML:
和ruby代码:
cap = @browsers[i].div(:id => 'recaptcha_image').image
如何将图像文件保存到磁盘?
require 'watir-webdriver' require 'open-uri' image_src = @browsers[i].div(:id => 'recaptcha_image').image.src File.open("/path/", 'wb') do |f| f.write open(image_src).read end
您可以使用Ruby的open-uri ,如下所示:
require 'open-uri' url = "the image url" #https://www.google.com/recaptcha/api/image?c=03A.... File.open("./image.jpg", "wb") do |file_write| open(url, 'rb') do |file_read| file_write.write(file_read.read) end end
require 'watir-get-image-content' def save_captcha(@browser) img = @browser.image(xpath: '//*[@id="ctl00_captcha"]/td[2]/div[1]/span[1]/img') filename = "#{@path}/tmp/current_captcha.jpg" File.open(filename, 'wb'){|file| file.write( img.to_jpg) } end