2011-04-27 8 views
1

JWinAuto 및 AutoIT를 처음 사용합니다. 파일 다운로드 컨트롤에서 저장 버튼을 클릭하고 싶습니다. 버튼에 초점을 맞출 수는 있지만 현재 파일 다운로드에 초점이 맞지 않으면 클릭하지 않습니다. 나는 그것을 최고로 설정하고 초점을 맞추기 위해 그것을 활성화했다. 하지만 여전히 버튼을 클릭 할 수 없습니다. 여기에 코드를 첨부합니다. 아무 것도 누락 된 경우 알려주십시오.파일 다운로드시 버튼을 클릭 할 수 없습니다.

  private static final WString BLANK_STRING = new WString(""); 
      private static final WString FILE_DOWNLOAD = new WString("File Download"); 
      System.out.println("hi.."); 
      JAutoITx wrapper = JAutoITx.INSTANCE; 
      wrapper.AU3_Init(); 
      wrapper.AU3_WinWait(FILE_DOWNLOAD, BLANK_STRING, 15); 
      wrapper.AU3_WinActivate(FILE_DOWNLOAD, BLANK_STRING); 
      System.out.println(wrapper.AU3_WinActive(FILE_DOWNLOAD, BLANK_STRING)); 
      wrapper.AU3_WinSetOnTop(FILE_DOWNLOAD, BLANK_STRING, 0); 
      wrapper.AU3_ControlFocus(FILE_DOWNLOAD, BLANK_STRING, new WString(
          "[CLASS:Button; INSTANCE:2]")); 
      wrapper.AU3_ControlClick(FILE_DOWNLOAD, BLANK_STRING, new WString(
          "[CLASS:Button; INSTANCE:2]"), BLANK_STRING, 1, 6660, 500); 
      wrapper.AU3_Send(new WString("s"), 0); 

답변

2

ControlClick을 작동 시키려면 창을 집중할 필요가 없습니다. 둘 다 활성화되어 있어야하고, 맨 위에 놓여 있어야합니다. 나는 그저 테스트 일 뿐이라고 생각하지만 ControlClick 라인만으로도 충분합니다.

이 줄

:

wrapper.AU3_ControlClick(FILE_DOWNLOAD, BLANK_STRING, new WString("[CLASS:Button; INSTANCE:2]"), BLANK_STRING, 1, 6660, 500); 

ControlClick "제목", "텍스트", "컨트롤의 controlid"[버튼은 [[클릭 x는 [y는]]]]

당신은 기본적으로있어 말 : 단추의 왼쪽에서 6660 픽셀의 단추를 클릭하고 단추의 위쪽에서 500을 클릭하십시오. 이 버튼은 메시지를 수신하고 클라이언트가 자체 좌표를 클릭했는지 확인합니다. 그럴 경우, 단추는 6660x500 픽셀 크기 여야하며 여기에서 추측하겠습니다.하지만 그렇게 큰 것은 아니라고 확신합니다.

매개 변수가 선택 사항이므로 특히 그 매개 변수를 전달하는 이유는 무엇입니까? 다음과 같이하십시오.

wrapper.AU3_ControlClick(FILE_DOWNLOAD, BLANK_STRING, new WString("[CLASS:Button; INSTANCE:2]"), BLANK_STRING, 1, 0, 0); 

ControlClick에서만 작동하는지 확인하십시오. 또한, 일부 응용 프로그램은 컨트롤에 보낸 명령을 처리하기 전에 창이 활성 상태인지 확인하지만 대부분의 응용 프로그램에서는 그렇지 않습니다.

질문에 답변이되지 않으면 "파일 다운로드"버튼이 속한 응용 프로그램을 알고 싶습니다. 그래서 직접 테스트를 작성할 수 있습니다.

+0

감사합니다. 나는 이것을 사용하려했지만 유용하지는 않았다. 때로는 효과가 있고 때로는 그렇지 않습니다. 이전에 창 이름을 직접 사용하여 시도했으나 작동하지 않아서 창을 사용했지만 동일한 결과를 보았습니다 하나 이상의 시나리오가 있습니다 : IE 페이지의 다운로드 링크를 클릭하고 대화 상자를 열고 크롬이나 오페라 브라우저의 인스턴스를 엽니 다. . 그리고 실패한 프로그램을 실행하십시오. 왜 그런 일이 일어나는 지 모르겠습니다. 당신이 창문에 관계없이 작동합니다 파일 다운로드의 몇 가지 예를 들어 있다면 초점이 잘되고 있어야합니다. 파일 다운로드는 모든 웹 응용 프로그램과 마찬가지로 클라이언트 응용 프로그램 용입니다. –

관련 문제