【问题标题】:Capybara + Downloading and using fileCapybara + 下载和使用文件
【发布时间】:2016-07-13 17:50:47
【问题描述】:

我正在使用 Capybara 浏览网站上的登录信息,然后下载一些文件(我正在自动化我必须执行的频繁过程)。我尝试了一些不起作用的方法,我希望有人可能知道解决方案...

  1. 我有两个正在执行的链接。单击,但是当一个文件将开始下载(这是使用 Chrome Selenium 驱动程序)时,水豚似乎在那之后停止运行。在另一个链接上运行 .click 没有任何作用......我认为这是因为它在技术上不再出现在页面上(因为它跟随下载链接)但我尝试重新访问页面以单击第二个链接并且没有也可以工作。

    1. 假设我可以让它工作,我真的希望能够下载到我的脚本位置而不是我的下载文件夹,但我已经尝试了我在网上找到的所有配置文件配置,但似乎没有改变它。

    2. 由于前两个问题,我决定尝试 wget... 但我需要从 capybara 中的会话继续进行身份验证。是否可以从 capybara 中提取会话数据(只是 cookie?)并将其插入到 wget 或 curl 命令中?

谢谢!

【问题讨论】:

    标签: ruby capybara


    【解决方案1】:

    对于 #3 - 访问 cookie 取决于驱动程序 - 在 selenium 中是

    page.driver.browser.manage.all_cookies
    

    或者您可以使用 https://github.com/nruth/show_me_the_cookies gem 来规范大多数 Capybaras 驱动程序的访问。使用这些 cookie,您可以将它们写入文件,然后使用 wget 的 --load-cookies 选项(curl 中的 --cookie 选项)

    对于#1,您需要提供有关您遇到的任何错误的更多信息,current_url 是什么,“不起作用”实际上是什么意思,等等

    【讨论】:

    • 导出 cookie 听起来是最好的方法,page.driver.browser.manage.all_cookies 将我的 cookie 保存在哈希中,但如何将其转换为 cookies.txt 格式?我一直在搜索 Mozilla 格式,但找不到任何支持转换的 gem。我需要自己编写吗?
    • @Max 是的,你需要自己写出来——xiix.wordpress.com/2006/03/23/mozillafirefox-cookie-format 是一篇解释格式的文章,它非常基础。
    猜你喜欢
    • 2013-10-10
    • 1970-01-01
    • 2015-06-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    相关资源
    最近更新 更多