2016-05-28 3 views
0

После многих попыток я до сих пор не знаю, как я могу выполнить этот метод почты с помощью WWW :: Mechanize :: PhantomJS. Он использует JavaScript на onsubmit = "_ onlickWeiter()"WWW :: Mechanize :: PhantomJS Javascript form submit

<form name="NeuerMBAntrag" action="Mahnantrag" method="post" onsubmit="_onclickWeiter()"> 
<input name="_ts" value="1464398188768" type="hidden"> 
<input name="Command" value="neuerMBAntrag" type="hidden 

_onClickWeiter()

function _onclickWeiter() 
{ 
    document.NeuerMBAntrag.Command.value = "neuerMBAntragForce" ; 
    document.NeuerMBAntrag.submit() ; 
} 

Если я позвоню $mech->submit() не загружается.

Веб-сайт имеет только кнопки и не содержит полей ввода, на странице внутри тега <form></form> есть две кнопки.

Кнопка 1:

<input src="images/butt_neuerAntrag_120x19.gif" name="neuer Antrag" alt="Weiter mit neuem Antrag, alte Eingaben gehen verloren (Alt+N)" accesskey="n" tabindex="2" border="0" type="image"> 

$mech->click('neuer Antrag'); не работает.

<form name="NeuerMBAntrag" action="Mahnantrag" method="post" onSubmit="_onclickWeiter()"> 
<input type="hidden" name="_ts" value="1464399779271" /> 
<input type="hidden" name="Command" value="neuerMBAntrag"> 

<table border="0" cellspacing="0" width="750"> 
    <tr bgcolor="#666666"> 
    <td width="10">&#160;</td> 
    <td width="10">&#160;</td> 
    <td width="10">&#160;</td> 
    <td width="80">&#160;</td> 
    <td width="10">&#160;</td> 
    <td width="320">&#160;</td> 
    <td width="110">&#160;</td> 
    <td width="110">&#160;</td> 
    </tr> 

    <tr bgcolor="#666666"> 
    <td colspan="2">&nbsp;</td> 
    <td class="zeile1" colspan="4">Antrag auf Erlass eines Mahnbescheids</td> 

    <td colspan="2" align="right"><table cellspacing="1" cellpadding="1"> 
    <tr> 
    <td><img src="images/ico_bevollmaechtigter_off.gif" alt="Prozessbevollm&auml;chtigter (noch keine Angaben)" title="Prozessbevollm&auml;chtigter (noch keine Angaben)"></td> 
    <td><img src="images/ico_antragsteller_off.gif" alt="Antragsteller (noch keine Angaben)" title="Antragsteller (noch keine Angaben)"></td> 
    <td><img src="images/ico_antragsgegner_off.gif" alt="Antragsgegner (noch keine Angaben)" title="Antragsgegner (noch keine Angaben)"></td> 
    <td><img src="images/ico_forderung_off.gif" alt="Hauptforderung/Zinsen (noch keine Angaben)" title="Hauptforderung/Zinsen (noch keine Angaben)"></td> 
    <td><img src="images/ico_nebenforderung_off.gif" alt="Auslagen und Nebenforderungen (noch keine Angaben)" title="Auslagen und Nebenforderungen (noch keine Angaben)"></td> 
    <td><img src="images/ico_allgemein_antrag_off.gif" alt="Allgemeine Angaben (noch keine Angaben)" title="Allgemeine Angaben (noch keine Angaben)"></td> 
    <td><img src="images/ico_datenuebersicht_off.gif" alt="Daten&uuml;bersicht" title="Daten&uuml;bersicht"></td> 
    <td><img src="images/ico_drucken_off.gif" alt="Druck" title="Druck"></td> 
    </tr> 
</table></td> 
    </tr> 
</table> 
<table border="0" cellspacing="0" width="560"> 
    <tr> 
    <td width=10></td> 
    <td width=300></td> 
    <td width=240></td> 
    <td width=10></td> 
    </tr> 
    <tr> 
    <td>&nbsp;</td> 
    <td>&nbsp;</td> 
    <td colspan="2" class="literal" align="right" valign="bottom"><a><img src="images/butt_hilfe.gif" border="0" alt="Einführung" onClick="hilfe('hilfe/einfuehrung.htm')"></a>&nbsp;&nbsp;</td> 
    </tr> 
    <tr> 
     <td class="text">&nbsp;</td> 
     <td class="text" colspan="2"> 
      <p>Der Antrag auf Erlass eines Mahnbescheids ist in 8 Schritte aufgeteilt. 
       <ol> 
        <li>Schritt: <img src='https://www.online-mahnantrag.de:443/omahn/images/ico_bevollmaechtigter_on_mini.gif'> Prozessbevollm&auml;chtigten erfassen (sofern vorhanden) 
        <li>Schritt: <img src='https://www.online-mahnantrag.de:443/omahn/images/ico_antragsteller_on_mini.gif'> Antragstellerdaten erfassen 
        <li>Schritt: <img src='https://www.online-mahnantrag.de:443/omahn/images/ico_antragsgegner_on_mini.gif'> Antragsgegner erfassen 
        <li>Schritt: <img src='https://www.online-mahnantrag.de:443/omahn/images/ico_forderung_on_mini.gif'> Anspruch/Forderung erfassen 
        <li>Schritt: <img src='https://www.online-mahnantrag.de:443/omahn/images/ico_nebenforderung_on_mini.gif'> Auslagen und Nebenforderung erfassen (sofern vorhanden) 
        <li>Schritt: <img src='https://www.online-mahnantrag.de:443/omahn/images/ico_allgemein_antrag_on_mini.gif'> Allgemeine Angaben zum Antrag 
        <li>Schritt: <img src='https://www.online-mahnantrag.de:443/omahn/images/ico_datenuebersicht_on_mini.gif'> &Uuml;berpr&uuml;fen der Antragsdaten 
        <li>Schritt: <img src='https://www.online-mahnantrag.de:443/omahn/images/ico_drucken_on_mini.gif'> Druck/Antragsabgabe 
       </ol> 
      </p> 
      <p>Geben Sie zu jedem Schritt die erforderlichen Daten ein. Mit <img src="images/butt_weiter_rund_klein.gif" width=13 height=13 alt="" border="0"> best&auml;tigen Sie Ihre Eingabe und gelangen zum jeweils n&auml;chsten Schritt oder Teilschritt.</p> 
      <p>Haben Sie schon Daten erfa&szlig;t, m&ouml;chten aber von vorne beginnen, so bet&auml;tigen Sie "Neuer Antrag" auf dieser Seite. Alle bisher erfassten Daten werden dann gel&ouml;scht.</p> 
     <td class="text">&nbsp;</td> 
    </tr> 
    <tr> 
     <td>&nbsp;</td> 
     <td class="text"> 
     <a href="/omahn/Mahnantrag?_ts=9161743-1464399779271&Command=showBundesland" target="main" accesskey="z" tabindex=3><img src="images/butt_zurueck_60x19.gif" border="0" alt="Zur Auswahl des Bundeslandes (Alt+Z)" ></a> 
<!--   <p>Wir w&uuml;nschen Ihnen viel Spa&szlig; bei der Eingabe Ihrer Daten.</p>--> 
     </td> 
     <td align="right" height=40 id="." valign="BOTTOM" width="."> 
     <a href="/omahn/Mahnantrag?_ts=9161744-1464399779271&Command=neuerMBAntrag" target="main"><img src="images/butt_weiter_60x19.gif" border="0" name="weiter" alt="Weiter, der aktuelle Antrag bleibt erhalten (Alt+W)" accesskey="w" tabindex=1></a>&#160;&#160; 

     <input type="image" src="images/butt_neuerAntrag_120x19.gif" border="0" name="neuer Antrag" alt="Weiter mit neuem Antrag, alte Eingaben gehen verloren (Alt+N)" accesskey="n" tabindex=2>&#160;&#160;</td> 
     <td class="text">&nbsp;</td> 
    </tr> 
</table> 
</form> 

Похоже _onClickWeiter() добавляет еще одну переменную document.NeuerMBAntrag.Command.value = "neuerMBAntragForce" ;, а затем передает. Как я могу назвать это с помощью WWW :: Mechanize: PhantomJS самый простой способ без потери <input></input> полей внутри <form></form>

ответ

0

Кажется, я решил проблему. Страница использует несколько кадров. $ mech-> submit() отлично работает в этой форме, но только если я выбираю правильный фрейм.

Похоже, $frames[2] содержит содержание формы отправки. После выбора $mech->submit() работает нормально.

Все мои предыдущие попытки были внутри заголовка iframe, который содержит буквально только жирный заголовок.