问问题
748 次
2 回答
2
根据您的最后一个问题,我假设您使用的是 Watir-Classic(即使您也列出了 Watir-Webdriver)。
正如评论中提到的@orde,Watir 有一个Alert
类用于处理这些类型的对话框。不幸的是,在点击按钮方面,Watir-Classic 只#ok
定义了一个方法:
# Press the "OK" button on the JavaScript dialog.
def ok
dialog.button(:value => "OK").click
wait_until_not_exists
end
这对这个对话框不起作用,因为有一个“是”和“否”按钮,而不是一个“确定”按钮。您将需要使用正确的值复制此功能。
请注意,这dialog
是一个 RAutomation 窗口,不再是 Watir 特定的代码。因此,按钮值并不总是直观的 - 它并不总是您看到的文本。要获得正确的值,您应该询问对话框它看到了什么值:
browser.alert.send(:dialog).buttons.map(&:value)
#=> ["&Yes", "&No"]
然后我们可以进行与该方法相同的调用#ok
,但使用正确的值:
alert = browser.alert
alert.send(:dialog).button(:value => '&Yes').click
alert.wait_while_present
于 2016-12-20T20:37:43.510 回答
0
这段代码可以很好地处理这种类型的弹出窗口:
save_dialog = WIN32OLE.new("AutoItX3.Control") save_dialog.ControlClick("Windows Internet Explorer", "Yes", "[CLASS:Button;INSTANCE:1]")
于 2016-12-26T09:59:55.653 回答