各位,
我遇到了一个有趣的问题。我的网页上有一些 javascript,单击时会打开一个弹出窗口。我试图找到窗口的标题,以便我可以单击它,该窗口有以下两个按钮“取消”和“保存文件”。这是我在 ruby 代码中所做的事情:
@windows = @browser.windows #this should return an array, so @windows is an array
p @windows[1] #output of this is #<Watir::Window:0x115c796cc located=true>
puts "This is the title of the second window---->"+@windows[1].title #this puts blank
我看到的问题是为什么当我使用p @windows[1]
打印出来时我的Windows对象没有任何变量为什么我这样做时没有打印标题 @windows[1].title
。我的目标是单击弹出窗口的“下载文件”按钮
这是我拥有的 HTML 片段:
<td>
<a onclick="window.open(this.href);return false;" href="/search/searches/1563/exports/1017">6175-1017-20120418181521-karnire.eml.zip</a>
</td>
我尝试的另一件事是在我的代码中执行类似的操作:
@windows = @browser.windows
@browser.window(:title => @windows[1].title).use do
@browser.button(:value => "Save File").click
end
对于上述内容,我收到如下错误:
Unable to locate window "{639686d9-4641-aa41-bf6f-3ba89659d921}" (Selenium::WebDriver::Error::NoSuchWindowError)
最佳答案
我将从提供的信息开始here on the watir-webdriver blog
如果这不起作用,请尝试查看 watir-wiki page on file downloads ?
它有点过时(一年没有更新,也使用 autoit 而不是 rautomation),但它可能足以让你继续下去。
关于ruby-on-rails - 使用 watir-webdriver 单击文件下载弹出窗口中的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10214749/