【问题标题】:Ruby Selenium Screenshot to specific File locationRuby Selenium 屏幕截图到特定文件位置
【发布时间】:2017-06-26 18:33:25
【问题描述】:

我在截取屏幕截图并将其保存到特定文件位置时遇到了一些问题:

我有 working 代码,可将屏幕截图保存到我工作区的原始文件位置:

driver.save_screenshot("screenshot.png")

我希望能够将此屏幕截图保存在我的 C://Username//RubyTutorial//Screenshots//Screenshot.png 中自己的文件夹中

C://Username//RubyTutorials 是一个已经存在的目录,我希望代码创建一个“屏幕截图”文件夹,然后将图像保存在该文件夹中。

我怎么能做到这一点?

我尝试过: driver.save_screenshot("C://Username//RubyTutorial//Screenshots//Screenshot.png")

但我收到“没有这样的文件或目录”的错误

我尝试过将“//”切换为“/”、“\”和“\”的不同尝试

但还是没有运气。

谢谢你:)

【问题讨论】:

  • 如果不想手动创建截图目录,可以使用Dir::mkdir创建,然后执行.save_screenshot
  • 您是否尝试使用双反斜杠?那是一个 \ 用 \ 转义导致'\\'
  • @orde 你有 Mkdir 方法的示例代码吗?我可以将屏幕截图输出到已创建的文件夹,但不能让文件夹自行创建,然后将屏幕截图保存到该文件夹​​目的地

标签: ruby selenium automation


【解决方案1】:

这是一个简单的人为示例,演示如何在使用Dir::mkdir 保存屏幕截图之前创建目录:

Dir.mkdir "C:\\screenshots"
driver.save_screenshot "C:\\screenshots\\Screenshot.png"

正如@Cagy79 指出的那样,您必须使用双反斜杠来转义反斜杠。

另外,请记住,如果目录存在,则会引发错误,因此您可能需要检查它(例如Dir.mkdir("C:\\screenshots") unless Dir.exist?("C:\\screenshots"))。并查看文档。 Dir 课程中有很多内容可以让您的生活更轻松。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-05
    • 1970-01-01
    • 2018-10-28
    • 2012-07-02
    • 1970-01-01
    • 1970-01-01
    • 2015-03-23
    • 1970-01-01
    相关资源
    最近更新 更多