民间,
我遇到了一个有趣的问题。我在网页上有一些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)
答案 0 :(得分:2)
我从提供的信息开始here on the watir-webdriver blog
如果不起作用,请尝试查看watir-wiki page on file downloads?
有点过时了(一年没有更新,也没有使用autoit而不是rautomation)但它可能足以让你前进。
答案 1 :(得分:0)
可能是Watir没有等待窗口加载。点击后尝试进入睡眠状态(10)。