2011-02-28 7 views
4

인쇄 대화 상자에 액세스 할 때 즉시 나타나는 페이지를 테스트하려고합니다. 내가해야 할 일은 대화 상자를 닫거나 대화 상자에서 취소를 클릭하면 페이지 뒤에서 대화 할 수 있습니다. 나는 이것을 어떻게하는지 알아 내려고 노력했지만, 내가 찾은 모든 것은 Firefox에서 불가능하다는 것을 나타낸다.Firewatir에서 Firefox 인쇄 대화 상자와 어떻게 상호 작용할 수 있습니까?

답변

2

MacOS 또는 Linux를 사용하는 경우 말할 내용이 확실하지 않습니다 ... 가능하다고 생각하지만 직접 학습해야합니다. :)

Windows 사용자 인 경우 몇 가지 제안 사항이 있습니다. 나는 (위치와 파이어 폭스 인쇄 대화 상자에서 취소를 클릭)이 같은 작업을 위해 좋은입니다 RAutomation 보석, 체크 아웃하는 것이 좋습니다 :

https://github.com/jarmo/RAutomation

을 또는 당신은 AutoIt이를 사용하여 시도 할 수 있습니다. Watir을 설치하면 이와 같은 간단한 GUI 자동화에 사용할 수있는 AutoItX3.dll 사본이 설치됩니다. AutoIt을 시스템에 사용할 수 있습니다 경우

가 확인하려면 IRB이 밖으로 시도 -이 코드가 표시 할 수있는 파이어 폭스 인쇄 대화 상자에서 10 초 대기 후 취소 버튼을 클릭 :

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 시작 : 1.8 \ 보석 \ \ Ruby187 \ lib 디렉토리 \ 루비 \ 보석을 \ Watir과-1.6.5 \ lib 디렉토리 \ Watir과 \ AutoItX3.dll이다

(루비 설치가 C에없는 경우 위의 당신이 경로를 변경해야 할 수도 있습니다 :. \ Ruby187 또는 1.6.5 이외의 다른 Watir과 버전이)

AutoIt documentation 여기에 있습니다 : 대화 상자를 닫을 때까지 인쇄 대화 블록을 제공하여 코드의 문은 상황이 조금 더 복잡 얻을 경우

:

http://www.autoitscript.com/autoit3/docs/

마지막 한가지는 조심. FireWatir에 click_no_wait 메소드가 아직 없다고 생각하기 때문에 대화 상자를 처리하기 위해 스레드 또는 외부 프로세스를 사용해야합니다.

+0

자동 솔루션이 완벽하게 작동했습니다. – Roderick

관련 문제