Кукольник двух форм нажимает вторую кнопку отправки - PullRequest
0 голосов
/ 05 июля 2018

Я использую кукловода, чтобы заполнить простую веб-форму, однако на странице есть две формы и для каждой формы кнопка отправки:

<input type="image" img="" src="../graphics/button_search.gif" width="121" height="39" border="0">

Так что в основном это следующая ситуация:

<FORM NAME=form1 METHOD=POST ACTION="https://URI1">
    <FONT SIZE=2 FACE="verdana, arial, helvetica">
    <B>Search by E-mail Address</B> (recommended):</FONT>
    <TABLE WIDTH=574 CELLPADDING=3 CELLSPACING=2 BORDER=0>
    <TR>
        <TD WIDTH=50% BGCOLOR="#ffffcc" VALIGN=TOP><FONT SIZE=2 FACE="verdana, arial, helvetica">
        <B>Enter the E-mail Address:</B><BR></FONT> 
        <INPUT Name=vs_email value="" size=25></FONT></TD> 
    </TR>	
    </TABLE>
<TR>
     <TD ALIGN=RIGHT><INPUT type="image" IMG SRC="button_search_green.gif" WIDTH=121 HEIGHT=39 border=0 ></TD> 
</TR>
</FORM>

<FORM NAME=form2 METHOD=POST ACTION="https://URI2">
    <FONT SIZE=2 FACE="verdana, arial, helvetica">
    <B>Search by name</B> (not recommended):</FONT>
    <TABLE WIDTH=574 CELLPADDING=3 CELLSPACING=2 BORDER=0>
    <TR>
        <TD WIDTH=50% BGCOLOR="#ffffcc" VALIGN=TOP><FONT SIZE=2 FACE="verdana, arial, helvetica">
        <B>Enter the name:</B><BR></FONT> 
        <INPUT Name=vs_name value="" size=25></FONT></TD> 
    </TR>	
    </TABLE>
<TR>
     <TD ALIGN=RIGHT><INPUT type="image" IMG SRC="button_search_green.gif" WIDTH=121 HEIGHT=39 border=0 ></TD> 
</TR>
</FORM>

Теперь, как я могу убедиться, что кукловод нажимает на кнопку ВТОРОГО поиска. Если я использую следующий код, он нажимает первый:

    const button = await page.$('input[type="image"]');
    await button.click();

Любые предложения, как я могу сделать подсчет на входе type = "image" и выбрать второй?

Спасибо

Маартен

1 Ответ

0 голосов
/ 05 июля 2018

Вам просто нужно немного расширить свой CSS-селектор, чтобы сделать его уникальным. Что вам нужно сделать, это использовать следующий селектор:

const button = await page.$('form[name="form2"] > input[type="image"]');
await button.click();

Это должно сработать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...