使用HTML-UNIT c#获取非id表单



我有一个HtmlPage里面有两个表单,没有一个有Id要获取

我试图通过获得最后一个子(这是我需要得到的形式)来获得它们,我一直试图在HTMLFORM元素上接收它,但没有运气。什么好主意吗?

编辑:我正在添加代码的一部分,你可以看到:(

                <table width="650" bordercolor="#cccccc" bgcolor="white" border="1">
                    <tbody>
                        <tr>
                            <th>
                                <font size="1">ACCION </font>
                            </th>
                            <th>
                                <font size="1">ESTADO </font>
                            </th>
                            <th>
                                <font size="1">DESCRIPCION </font>
                            </th>
                            <th>
                                <font size="1">CANTIDAD </font>
                            </th>
                        </tr>
                        <form action="le_02pre_deim_anticipada.asp?submit=AA" method="post"></form>
                        <input name="cod_estado" type="hidden" value="100">
                        <input name="descrip" type="hidden" value="100">
                        <input name="buzon" type="hidden" value="B1_">
                        <input name="filtro_fecha" type="hidden" value="1">
                        <tr>
                            <td width="20%" align="CENTER">
                                <input name="SUBMIT" type="SUBMIT" value="SELECCIONAR"></td>
                            <td width="10%" align="CENTER">
                                <font size="2">100</font>
                            </td>
                            <td width="60%">
                                <font size="2">
                                    Informadas en espera de la presentación en Bancos
                                </font>
                            </td>
                            <td width="10%" align="CENTER">
                                <font size="2">233</font>
                            </td>
                        </tr>
                        <form action="le_02pre_deim_anticipada.asp?submit=AA" method="post"></form>
                        <input name="cod_estado" type="hidden" value="200">
                        <input name="descrip" type="hidden" value="200">
                        <input name="buzon" type="hidden" value="B2_">
                        <input name="filtro_fecha" type="hidden" value="1">
                        <tr>
                            <td width="20%" align="CENTER" bgcolor="#cccccc">
                                <input name="SUBMIT" type="SUBMIT" value="SELECCIONAR"></td>
                            <td width="10%" align="CENTER" bgcolor="#cccccc">
                                <font size="2">200</font>
                            </td>
                            <td width="60%" bgcolor="#cccccc">
                                <font size="2">
                                    Presentadas en entidades recaudadoras en espera de la Solicitud de Levante
                                </font>
                            </td>
                            <td width="10%" align="CENTER" bgcolor="#cccccc">
                                <font size="2">194</font>
                            </td>
                        </tr>
                    </tbody>
                </table>

所以我需要通过post发送这些值

<input name="cod_estado" type="hidden" value="200">
<input name="descrip" type="hidden" value="200">
<input name="buzon" type="hidden" value="B2_">
<input name="filtro_fecha" type="hidden" value="1">

我正在接收body on:

HtmlBody body0 = (HtmlBody)P0.Body;

我解决了:D

我只是想让你知道我是如何解决这个问题的。页面上没有一个元素具有ID,但是您可以使用一些标记的位置来导航它。
HtmlForm f02Submit = PageDecla.Forms[1];
HtmlSubmitInput SubM02 = (HtmlSubmitInput)PageDecla.GetElementsByName("SUBMIT")[1];
f02Submit.AppendChild(SubM02);
var count = f02Submit.ChildElementCount;
SubM02 = (HtmlSubmitInput)f02Submit.ChildNodes[count-1];
PaginaDecla = (HtmlPage)SubM02.Click();
f02Submit = null;
SubM02 = null;
int f = 0, hfImp = 0;
f = PaginaDecla.Forms.Count;

for (int i = 0; i < f; i++)
{
    var form = PageDecla.Forms[i];
    hfImp = form.ChildElementCount;
    SubM02 = (HtmlSubmitInput)PageDecla.GetElementsByName("SUBMIT")[i];
    for (int j = 0; j < hfImp; j++)
    {                    
        var hfI = (HtmlHiddenInput)form.ChildNodes[j];
        var nameHF = hfI.NameAttribute;
        var val = hfI.ValueAttribute;
        if ((val == cod_int) && (nameHF == name))
        {
            form.AppendChild(SubM02);
            hfImp = form.ChildElementCount;
            var btn = (HtmlSubmitInput)form.ChildNodes[hfImp-1];
            PageDecla = (HtmlPage)btn.Click();
            j = hfImp;
            i = f;
        }

    }
}

感谢那些努力的人,我知道我没有提供那么多的信息。

最新更新