2014-02-16 4 views
1

일련의 유사한 웹 페이지에서 일부 데이터를 수집하여 엑셀 시트에 저장합니다. 이 작업을 위해 파이썬 내에서 urllib2의 opener 클래스를 사용하고 있습니다.url에서 내부 javascript 함수를 호출하는 방법은 무엇입니까?

이 페이지의 한 그룹에서 필요한 데이터가 나타나도록 하이퍼 링크를 클릭해야합니다.

이 하이퍼 링크를 가짜 클릭하여 내 파이썬 코드 내에서 보내는 주소에 포함시킬 수있는 방법이 있습니까?

이 링크의 HREF 태그입니다 :

function refresh_reg_table(order){ 
    Ajax.Responders.register({ 
    onCreate: function() { 
     $('ajax_spinner2').show(); 
    }, 
    onComplete: function() { 
     $('ajax_spinner2').hide(); 
    } 
    }); 

    new Ajax.Updater('table_registrations', 'ajax/get_table_registrations.php', { 
    method: 'get', 
    parameters: { 
     table: 'registrations', 
     idevent : 143593, 
     sorted : order}, 
    evalScripts: true, 
    }); 
} 

function refresh_reg_list(){ 
    Ajax.Responders.register({ 
    onCreate: function() { 
    $('ajax_spinner2').show(); 
    }, 
    onComplete: function() { 
    $('ajax_spinner2').hide(); 
    } 
    }); 

    new Ajax.Updater('reg_list', 'ajax/get_list_registrations.php', { 
    method: 'get', 
    parameters: { 
     type: 'table_name_reg', 
     idevent : 143593 
    }, 
    evalScripts: true, 
    }); 
} 
+0

난 당신이 같은 브라우저에 대한 몇 가지 CLI 웹킷을 사용하는 것이 좋습니다 있다고 생각하지 말아 :

당신은 또한 더 나은 같은 하이퍼 링크 변경 행동. (해당 필드의 urlib 기능에 대한 확신이 없습니다.) – elmigranto

답변

0

하면 주소 표시 줄을 통해 할 수있는 모든이 javascript: 접두사를 사용하고 :

<a href="#" onClick="refresh_reg_table();refresh_reg_list(); return false;"> 

그리고 여기가 온 클릭에서 호출 된 함수입니다 접두사가 javascript: 인 모든 자바 스크립트 코드가 실행됩니다. 페이지의 기능을 시작하는

<a href="javascript:refresh_reg_table();refresh_reg_list();">...</a> 
0

사용 javascript:yourFunction() - 내가 주위 다른 방법

+0

내 질문이 명확하지 않을 수 있으므로 방금 편집했습니다. Opener는 Javascript 코드로 두 번째 명령을 허용하지 않습니다. 브라우저에서 주소 표시 줄과 동일한 방식으로 작동하지 않는 것 같습니다. 호출하는 페이지 주소에'javascript : function()'을 어떻게 포함시킬 수 있습니까? – Iraj

+0

나는 당신이 그 일을 할 수 있다고 생각하지 않는다. 그러나 일단 페이지에 접근하면 body 태그 에 그 페이지의 body 태그를 포함시킬 수있다. – BruceWayne

관련 문제