我試圖測試訪問它時立即出現打印對話框的頁面。我需要做的就是關閉對話框或單擊取消,以便我可以與後面的頁面進行交互。我試圖弄清楚如何做到這一點,但是我發現的一切都表明它不可能在Firefox中使用。在Firewatir中,我如何與Firefox打印對話框交互?
4
A
回答
2
如果你在MacOS或Linux上,不知道該告訴你什麼......我敢打賭這是可能的,但我需要了解我自己。 :)
如果你在Windows上,我確實有一些建議。我建議檢查出RAutomation寶石,這是很好的這樣的任務(定位和點擊Firefox的打印對話框中取消):
https://github.com/jarmo/RAutomation
或者你可以嘗試使用的AutoIt。安裝Watir還會安裝一個AutoItX3.dll副本,您可以使用這個副本進行簡單的GUI自動化。
要查看AutoIt的是準備好你的系統上使用,嘗試了這一點在IRB - 這個代碼將等待10秒鐘,Firefox的打印對話框出現,然後點擊取消按鈕:
irb(main):001:0> require 'win32ole'
=> true
irb(main):002:0> autoit = WIN32OLE.new('AutoItX3.Control')
=> #<WIN32OLE:0x3c61ce0>
irb(main):003:0> result = autoit.WinWaitActive('Print', '', 10)
=> 1
irb(main):004:0> result = autoit.ControlClick('Print', '', 'Cancel')
=> 1
如果「WIN32OLE.new('AutoItX3.Control')」行引發異常,您可能需要使用regsvr32.exe來註冊該DLL。例如,這裏是如何做到這一點Win7上:
啓動提升的cmd.exe
REGSVR32 C:\ Ruby187 \ LIB \紅寶石\寶石\ 1.8 \寶石\的Watir-1.6.5 \ LIB \的Watir \ AutoItX3.dll
(請注意,您可能需要更改路徑上面,如果你的Ruby安裝是不是在C:\ Ruby187或者你有不同的Watir版本比1.6.5)
AutoIt文檔是在這裏:
http://www.autoitscript.com/autoit3/docs/
最後一件事要注意:
如果在你的代碼,帶來了打印對話框塊的聲明,直到對話框關閉,事情變得更加複雜。您需要使用線程或外部進程來處理對話框(因爲我不認爲FireWatir有一個click_no_wait方法)。
相關問題
- 1. 如何打印PDF文件在Java中與打印對話框
- 2. 如何居中java打印對話框
- 3. JQuery Mobile - 與對話框交互
- 4. 與文件對話框交互
- 5. 打印對話框
- 6. 如何給命令打印機無需用戶交互(沒有打印對話框)
- 7. 我想在打印按鈕時打印對話框?
- 8. AS3:沒有打印對話框/打印設置對話框的打印作業
- 9. 如何擴展Qt打印對話框
- 10. 如何顯示打印對話框
- 11. 如何關閉打印對話框?
- 12. 如何使用打印對話框
- 13. 打印前顯示打印對話框
- 14. 無需打印對話框打印Android
- 15. 打印機和打印對話框
- 16. 如何捕獲jQuery對話框與父母之間的交互
- 17. 如何使用Webdriver&Python與此模式對話框交互?
- 18. 在MS-Access中打印對話框
- 19. 在asp.net中無對話框打印
- 20. 在Java中打印對話框
- 21. 如何在angularJS中打印本地PDF而無需打開打印對話框
- 22. 打開打印對話框在Mac
- 23. PowerBI中的交互式對話框
- 24. 隱藏打印對話框
- 25. chrome-無對話框打印
- 26. Dispay打印機對話框
- 27. asp.net opera打印對話框
- 28. 如何直接打印Fastreport而不顯示打印對話框
- 29. 如何使用打印對話框打印文檔?
- 30. 如何使預覽打印對話框打印圖像
該自動解決方案完美工作。 – Roderick 2011-03-01 17:44:45