2013-02-24 4 views
0

제목이 혼란 스럽다면 죄송합니다.Ruby를 통해 JavaScript 요청 작성하기

내 일정의 업데이트로 내 직업 웹 사이트를 긁어 내려고하고 있습니다. 저는 Mechanize에서 Ruby를 사용하고 있습니다. 내 직업의 웹 사이트에 성공적으로 로그인했지만, 일단 로그인하면 모든 링크가 JavaScript 링크가되어 Mechanize는 잘 작동하지 않습니다.

몇 가지 조사를 한 후에 비슷한 문제에 대한 몇 가지 제안을 보았습니다. 링크를 클릭하는 대신 링크를 통해 요청을 에뮬레이션 할 수 있습니다. 그러나 어떻게해야하는지 잘 모르겠습니다.

링크 뒤에 코드는 다음과 같습니다

이 가
<a href="JavaScript:document.getElementById('schedForm').submit()">My Work Schedule </a> 

가 어떻게 루비에서이 문제를 해결할 수 ? 어떤 제안?

답변

2

링크를 클릭하면 양식을 제출합니다. mechanize로 동일한 작업을 수행하려면 :

page.form(:id => 'schedForm').submit 
+0

그게 그렇게 간단하지 않을 수 있습니다. 정말 고맙습니다. 나는이 프로젝트를 여러 번 열심히하려고했다. – Rickmasta

+0

네, 보통 간단한 해결책이 있습니다. 포기하고 watir로 전환하는 것은 거의 항상 실수입니다. – pguardiario

0

내가 아는 한, Mechanize는 JavaScript 호출을 할 수 없습니다. JavaScript와 상호 작용해야하는 경우 Watir을 권하고 싶습니다.

+1

Mechanize는 JavaScript는 할 수 있지만 JavaScript는 해석 할 수없는 URL을 호출 할 수 있습니다. Watir도 할 수 없지만 Watir이 제어 할 수있는 브라우저는 Watir이 할 수 있습니다. Watir은 브라우저에 이전과 이후의 상태를 묻습니다. –

+0

당신은 절대적으로 옳았습니다. 제 대답을 올바르게 표현하지 못했습니다. – fmendez

관련 문제