使用WebBrowser填写html表单,然后单击“提交”按钮失败

本文关键字:提交 按钮 失败 单击 然后 填写 WebBrowser html 表单 使用 | 更新日期: 2023-09-27 18:26:04

有一个食物预订网站,我用来预订食物。我想自动预订。有一张表格,每个表格有7个复选框,用于一周中的一天。我拿到复选框,选中我想要的日期,然后点击提交按钮。问题是,当复选框被选中但食物被选中时,但在页面重新加载时点击按钮后,复选框没有被选中(这意味着食物没有被保留)。事实上,这就是我对任何普通浏览器所做的,并且在重新加载页面后会选中复选框。勾选复选框有问题。我试过这些代码来检查它们:

element.SetAttribute("checked", "checked");
element.InvokeMember("Click");

当程序运行时,如果我点击自己(不使用代码),它也会工作但是,如果我在两个复选框中分别勾选代码和另一个复选框,效果就不太好了。

使用WebBrowser填写html表单,然后单击“提交”按钮失败

页面设计器在复选框的标签上有一些关于mousedown和mouseup事件的函数,并且一些函数在它们内部被调用,而不是复选框的mousedown和mouseup事件。

<span style="display:inline-block;text-decoration:none;height:21px;">
<input id="chk3" type="checkbox" name="chk3" checked="checked">
<label for="chk3">Tuesday</label>
</span>

所以我调用了点击复选框旁边的标签,它成功了!

HtmlElement element; //points to the checkbox
HtmlElement label = element.NextSibling;
label.InvokeMember("click");

我发现一些javascript函数在另一个文件(如)中

<script src="/WebResource.axd?d=a9EVQm7rLRaKIS8apQBSZw2&amp;t=634596512855689274" type="text/javascript"/>

我想也许WebBrowser没有加载链接到html的文件,但我错了。它加载所有文件。