Search code examples
javascriptpython-2.7mechanize-pythonjython-2.5

Mechanize javascript resolver for manual processing


I am trying to logging in to a site using mechanize. Below is the javascript action on submitting. Can I decipher what it's doing and implement by mechanize. people have been suggesting me that I can find out what the javascript does and try to replicated it which I have no idea for below.

 function defaultSubmit(a){LoginSubmit("Submit",a);return false}function LoginSubmit(c,d){if(d&&freezeButton){var b=document.getElementById(d);freezeButton(b)}aggSubmitSignIn();var a=document.forms.Login;if(a!=null){a.elements.IDButton.value=c;if(this.submitted){alert("The request is currently being processed");return false}else{this.submitted=true;a.submit()}}return false}function aggSubmitSignIn(){var a=document.forms;var e=a.Login;if(e!=null){var d=a.frmSignIn;if(d!=null){var c=d.elements;for(var b=0;b<c.length;b++){if(c[b]!=null&&c[b].name.indexOf("IDToken")==0){e[c[b].name].value=c[b].value}}}}}function onClickRememberMeCheckBox(c,b,a){checkboxDiveObj=document.getElementById(c);checkdBoxObj=document.getElementById(c+"_CheckBox_"+b);checkBoxValueObj=document.getElementById(c+"_Value");if(checkdBoxObj!=null){if(a){if(checkdBoxObj.className=="checkbox_checked"){checkdBoxObj.className="checkbox";checkBoxValueObj.value="FALSE"}else{checkdBoxObj.className="checkbox_checked";checkBoxValueObj.value=b}}else{checkdBoxObj.className="checkbox_checked";checkBoxValueObj.value=b}}else{checkBoxValueObj.value="FALSE"}child=checkboxDiveObj.getElementsByTagName("a");for(i=0;i<child.length;i++){childObj=child[i];elementId=childObj.getAttribute("id");if(elementId.indexOf("_CheckBox_")>-1&&elementId.indexOf(b)<=0){childObj.className="checkbox"}}};

Solution

  • You won't be able to do it since mechanize isn't a javascript engine. Use selenium instead.

    http://selenium-python.readthedocs.org/en/latest/getting-started.html