感謝您的輸入凱文,
其實我這個答案[我調整了它從的Watir維基方法1]提出了現金喬治上的Watir一般以下post。我寫了一個彈出的處理程序是這樣的:
require 'win32ole'
title = "Choose File to Upload"
begin
popupOccurred = false
autoIt = WIN32OLE.new('AutoItX3.Control')
timeout = 15
autoIt.WinWait(title, '', timeout)
autoIt.ControlClick(title, "", "&Open")
sleep 1
autoIt.WinWait(title, '', timeout)
isClicked = autoIt.ControlClick(title, "", "OK")
sleep 1
autoIt.ControlClick(title, "", "Cancel") if (isClicked == 1)
autoIt.ole_free
rescue
puts "Error closing popup, please close Manually"
end
,並在我的代碼片段,我做了以下內容:
require 'watir'
b = Watir::Browser.start("tinypic.com")
#-- Launches the popup closer in a different process. other methods like
#-- Process.create or system(start rubyw C:\\popup_handler2.rb) or having the
#-- popup handler in a Thread did not work for me.
system("start ruby C:\\popup_handler2.rb")
b.file_field(:id, "the_file").set("C:\\image.png")
我肯定會從的Watir大師/開發者/用戶欣賞一些反饋在那裏。
感謝,
切塔尼亞
您正在使用的Watir或的Watir-的webdriver?你標記了兩個,但沒有指定你在問題中使用的是哪一個。這很重要,因爲他們有不同的設備來處理彈出窗口。 –
我正在使用watir,只是在問題中添加了信息 – chaitanya
你爲什麼試圖上傳不存在的文件? –