我有一个上传文件的webapp。您可以使用有效帐户登录该站点,然后下载这些文件。我目前正在使用Ruby,Capybara和Selenium Webdriver自动化整个框架,但我不能自动化下载文件的过程。
到目前为止,我尝试使用Selenium(它没有用),我还使用了Ruby库open-uri
:
def downloadFile(path)
open('testing.docx', 'wb') do |file|
file << open(path).read
end
download = open(path)
IO.copy_stream(download, File.expand_path("resources\\downloads"))
end
其中path
是文件链接的href,但起初我收到以下错误:
openssl :: ssl :: sslerror:ssl_connect returns = 1 errno = 0 state = sslv3 read server certificate b:certificate verify failed
为了避免它,我使用了以下代码:
OpenSSL :: SSL :: VERIFY_PEER = OpenSSL :: SSL :: VERIFY_NONE
但最后,我无法下载文件。
此时我想我应该加载一个证书,或者从cookie或其他地方检索登录令牌,但我无法弄清楚究竟在哪里。
有没有办法从需要登录的页面下载文件?
答案 0 :(得分:0)
答案 1 :(得分:-1)
尝试将uri从“https”更改为“http”,如下所示:
path = path.sub("https","http")