2012-01-10 3 views
0

나는 머리없는 watir-webdriver를 사용하고 있으며 특정 작업 인 browser.div.click이 파일 다운로드를 알리는 것을 알고 있습니다. FF로 파일을 다운로드 할 폴더를 지정할 수 있지만 헤드리스 파일 다운로드는 어떻게 처리 할 수 ​​있습니까? 폴더를 지정하거나 메모리에 더 잘 읽는 방법이 있습니까?watir-webdriver를 사용하여 헤드리스 파일 다운로드를 처리하는 방법은 무엇입니까?

도움을 주시면 감사하겠습니다.

+0

와우, 힘든 일입니다. 나는 나중에 그것을 보려고 노력할지도 모른다. 그러나 본능은 자동화를 위해 건너 뛰는 테스트라고합니다. –

+0

사실 테스트 목적으로는 아니지만 javascript로 작성된 사이트에서 정보를 가져옵니다. 나는 watir가 테스트를 위해 만들어 졌음을 알고 있지만 javascript 사이트와 상호 작용할 방법을 찾고있었습니다. Mechanize에는 해당 기능이 없으며 다른 옵션을 찾을 수 없었습니다. – asahi

+0

그런 다음 브라우저로 해보십시오. 그것이 작동하지 않는다면 전문적인 긁기 도구를 사용해보십시오. 행운을 빕니다. –

답변

0

헤드리스 테스트가 실용적이지는 않습니다. 어떻게 헤드리스 프롬프트가 사용자에게 표시 될 수 있습니까? 파일을 보낼 곳을 말해야한다고 생각합니다. 이것은 webdriver 사람들에게 더 많은 질문이 될 것입니다. 그것은 그 기본 기능입니다. 그냥 직접 호출해야 할 수도 있습니다.

사이트에서 REST 인터페이스 또는 파일을 직접 가져 오는 방법을 구현합니까? 어쩌면 cURL 또는 REST-CLient를 시도할까요?

파일을 다운로드하는 것이 주된 목적이라면 웹 페이지 코드에서 파일의 URL을 파악할 수 있는지 먼저 확인해야합니다. 결정할 수 있다면 cURL gem을 사용하여 (또는 명령 행에서 cURL 만 사용하여) 파일 다운로드의 HTTP 주소에 대한 get을 호출 한 다음 파일에 저장하거나 작업하십시오 필요한 경우 메모리에 저장

+0

사이트에서 직접 파일을 가져 오는 방법을 구현하지 않습니다. 기본적으로 div를 클릭하면 파일을 다운로드하라는 메시지가 나타납니다 (브라우저를 사용하는 경우) – asahi

+0

@shig div의 HTML은 무엇입니까? http 작업을 통해 파일을 전송하는 방법을 잘 이해하고 있다고 생각하지 않습니다. 저장하라는 메시지는 브라우저에서 나옵니다. –

+0

아마도 파일 전송이 작동하는 방식을 이해하지 못하고 있습니다. browser.div (: id, "download-file") .Click을 클릭하면 브라우저를 사용하고 있다면 브라우저 다운로드가 표시되지만 이상적으로는 헤드리스를하고 싶습니다. 희망은 그 말이 맞습니다. – asahi

0

가능한 해결 방법은 다운로드 대화 상자를 열지 않고 브라우저에서 이진 내용을 표시하도록 프로필 설정을 변경하는 것입니다.

관련 문제