Hi, so I&#39;ve been using Mechanize as suggested to me through tutor to access web forms and fill them out.. I&#39;ve found some success though I wish there to be more documentation than docstrings.. as I am new to python and not incredibly experienced with code.<br>
<br>I am able to fill forms and submit them in situations such as a &#39;search-submit&#39; form on a blog.  <b>My problem is evident when I approach a form that appears to be linked to a javascript -- I am unable to submit</b> (essentially click on the button).. I assume this is because python does not handle javascript.  I am now looking at DOMForm as a solution, but am unsure as to weather or not this is correct..<br>
<br>An example of the form I would like to access looks like this:<br><b>*********************************************************************************************************</b><br><pre id="line965">&lt;<span class="start-tag">form</span><span class="attribute-name"> name</span>=<span class="attribute-value">&quot;PXForm&quot; </span><span class="attribute-name">method</span>=<span class="attribute-value">&quot;post&quot; </span><span class="attribute-name">action</span>=<span class="attribute-value">&quot;SendToFriend.aspx?__JobID=*C2B68228BC44075E&amp;__SVRTRID=B6F5E507-AACA-416D-A03C-1573EA327D41&quot; </span><span class="attribute-name">id</span>=<span class="attribute-value">&quot;PXForm&quot;</span>&gt;<br>
&lt;<span class="start-tag">input</span><span class="attribute-name"> type</span>=<span class="attribute-value">&quot;hidden&quot; </span><span class="attribute-name">name</span>=<span class="attribute-value">&quot;__VIEWSTATE&quot; </span><span class="attribute-name">value</span>=<span class="attribute-value">&quot;dDw1MzgxOzs+PgGFOMY4OYGDkEPDYUq1qgpsu4g=&quot; </span><span class="error"><span class="attribute-name">/</span></span>&gt;<br>
&lt;<span class="start-tag">input</span><span class="attribute-name"> name</span>=<span class="attribute-value">&quot;__PXPOSTBACK&quot; </span><span class="attribute-name">id</span>=<span class="attribute-value">&quot;__PXPOSTBACK&quot; </span><span class="attribute-name">type</span>=<span class="attribute-value">&quot;hidden&quot; </span><span class="attribute-name">value</span>=<span class="attribute-value">&quot;1&quot; </span><span class="error"><span class="attribute-name">/</span></span>&gt;&lt;<span class="start-tag">script</span><span class="attribute-name"> language</span>=<span class="attribute-value">&quot;JavaScript&quot; </span><span class="attribute-name">type</span>=<span class="attribute-value">&quot;text/javascript&quot; </span><span class="attribute-name">src</span>=<span class="attribute-value">&quot;../UI/GT/hmscore.js&quot;</span>&gt;&lt;/<span class="end-tag">script</span>&gt;<br>
</pre><pre id="line980">&lt;<span class="start-tag">SCRIPT</span><span class="attribute-name"> LANGUAGE</span>=<span class="attribute-value">javascript</span>&gt;<br>&lt;!--<br>        function resetpxslbp() {<br>                var theform;<br>
                if (window.navigator.appName.toLowerCase().indexOf(&quot;netscape&quot;) &gt; -1) {<br>                        theform = document.forms[&quot;PXForm&quot;];<br>                }<br>                else {<br>                        theform = document.PXForm;<br>                }<br>                theform.__PXLBN.value = (&#39;&#39;);<br>
                theform.__PXLBV.value = (&#39;&#39;);<br>        }<br>        function pxslbp(eventTarget, eventArgument) {<br>                var theform;<br>                if (window.navigator.appName.toLowerCase().indexOf(&quot;netscape&quot;) &gt; -1) {<br>                        theform = document.forms[&quot;PXForm&quot;];<br>
                }<br>                else {<br>                        theform = document.PXForm;<br>                }<br>                theform.__PXLBN.value = eventTarget;<br>                theform.__PXLBV.value = eventArgument;<br>                theform.submit();<br>        }<br>//--&gt;<br>&lt;/<span class="end-tag">SCRIPT</span>&gt;<br>
<b>*********************************************************************************************************</b><br><br>#the is more like the above I&#39;m leaving out before the standard form entry html such as the following:<br>
<br><span class="start-tag">td</span><span class="attribute-name"> align</span>=<span class="attribute-value">&quot;Left&quot; </span><span class="attribute-name">class</span>=<span class="attribute-value">&quot;LabelCell&quot;</span>&gt;&lt;<span class="start-tag">span</span><span class="attribute-name"> class</span>=<span class="attribute-value">&quot;PrintSmall&quot;</span>&gt;Enter e-mail address of recipient&lt;/<span class="end-tag">span</span>&gt;&lt;/<span class="end-tag">td</span>&gt;<br>
                                &lt;<span class="start-tag">td</span><span class="attribute-name"> align</span>=<span class="attribute-value">&quot;Left&quot; </span><span class="attribute-name">class</span>=<span class="attribute-value">&quot;Cell&quot;</span>&gt;&lt;<span class="start-tag">input</span><span class="attribute-name"> name</span>=<span class="attribute-value">&quot;Email_To&quot; </span><span class="attribute-name">type</span>=<span class="attribute-value">&quot;text&quot; </span><span class="attribute-name">maxlength</span>=<span class="attribute-value">&quot;255&quot; </span><span class="attribute-name">size</span>=<span class="attribute-value">&quot;40&quot; </span><span class="attribute-name">id</span>=<span class="attribute-value">&quot;Email_To&quot; </span><span class="attribute-name">class</span>=<span class="attribute-value">&quot;CustomTextbox&quot; </span><span class="error"><span class="attribute-name">/</span></span>&gt;&lt;/<span class="end-tag">td</span>&gt;<br>
<br></pre><br><pre id="line980"><b>*********************************************************************************************************<br><br><br>The python code I&#39;ve put together looks like this:<br><br></b>import ClientForm<br>
import urllib2<br>request = urllib2.Request(&quot;<a href="http://www.qinetiq-nacareers.com/qinetiq/jobboard/SendToFriend.aspx?__JobID=*C2B68228BC44075E">http://www.qinetiq-nacareers.com/qinetiq/jobboard/SendToFriend.aspx?__JobID=*C2B68228BC44075E</a>&quot;)<br>
response = urllib2.urlopen(request)<br>forms = ClientForm.ParseResponse(response, backwards_compat=False)<br>response.close()<br><br>form = forms[0]<br>print form  <br><br>form[&quot;Email_To&quot;] = &quot;<a href="mailto:pfroslie@gmail.com">pfroslie@gmail.com</a>&quot;<br>
form[&quot;Email_From&quot;] = &quot;<a href="mailto:pfroslie@gmail.com">pfroslie@gmail.com</a>&quot;<br>form[&quot;SenderName&quot;] = &quot;Patrick&quot;<br>form[&quot;Comments&quot;] = &quot;this job looks great&quot;<br>
<br>request2 = form.click(&quot;Send&quot;) <br><br>print form<br>control = form.find_control(&quot;Email_To&quot;, type=&quot;text&quot;)<br>print <a href="http://control.name">control.name</a>, control.value, control.type<br>
print request<br>print request2<b><br><br><br>i&#39;ve tried a few other options, but essentially feel my trouble boils down to thos issue with java..<br><br></b>Thank you so much!-- I appologoze if this post is formatted a little too confusing-- kind of getting use to communicating about pythono..<br>
<b><br></b></pre>
<br>