C#单击没有id的html提交按钮

时间:2011-05-03 14:35:01

标签: c#

我的C#webbrowser中有一个包含

的页面
<input type="submit" value="Sign out">

由于它没有id,我无法使用webbrowser的htmldocument通过id获取它并调用它的click。我现在如何使用htmldocument点击它?

4 个答案:

答案 0 :(得分:0)

你可以给它自己的ID,你不需要服务器控制它。只是做:

<input type="submit" ID="MySubmitButton1" value="Sign out">

您提到要在点击时调用某些内容,或者只是手动添加onclick事件:

<input type="submit" onclick="CallMyFunction()" value="Sign out">

如果要将输入控件传递给函数,请将'this'传递给它:

<input type="submit" onclick="CallMyFunction(this)" value="Sign out">

您可能不希望提交按钮在您调用函数时发布任何内容,因此您可能需要以下内容:

<input type="submit" onclick="return CallMyFunction()" value="Sign out">

function CallMyFunction()
{
    bool IsFormValid = false;

    // Check if form is valid

    return IsFormValid;
}

答案 1 :(得分:0)

假设您无法控制HTML页面,因此无法向元素添加ID,您可以使用HtmlDocument.GetElementsByTagName获取所有输入元素,然后通过{{1}过滤该集合}和type属性。类似的东西:

value

请注意,如果有多个匹配元素(仅点击第一个匹配元素),则此方法不合适。

答案 2 :(得分:0)

这个怎么样:

webbrowser1.Document.Forms[0].InvokeMember("submit");

答案 3 :(得分:0)

如何处理具有多个HTML提交按钮且没有ID的页面?如何从第二行识别提交按钮。Multiple html buttons

html code