如何在Ruby中使用Selenium webdriver截取警报的屏幕截图?

时间:2017-12-07 10:44:39

标签: ruby-on-rails ruby selenium selenium-webdriver screenshot

您好,我是硒的新用户。我正在尝试使用红宝石中的selenium webdriver拍摄警报的屏幕截图。

@driver.find_element(:name, "updateButton").click
@driver.save_screenshot "./#{Time.now.strftime("Alert_Screenshot___%d_%m_%Y__%H_%M_%S")}.png"

不是截取屏幕截图,而是显示此错误:

硒::的webdriver ::错误:: UnhandledAlertError

我当然可以接受提醒:

@driver.switch_to.alert.accept

然后截取屏幕截图。但我想知道是否有方法在提示屏幕时提取屏幕截图

1 个答案:

答案 0 :(得分:1)

在您的情况下,您需要截取完整屏幕截图,而不仅仅是浏览器。因此,您可以使用xwd截取根窗口的屏幕截图:

xwd -display :0 -root|xwdtopnm |pnmtopng > $1