使用WebBrowser控件,并且需要访问DOM元素C# [英] C# using WebBrowser control and need to access DOM elements

查看:495
本文介绍了使用WebBrowser控件,并且需要访问DOM元素C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个网页加载使用C#我的WinForm的应用程序中。



我需要在页面上编程输入数据到具体领域(不使用华廷)。



如果任何人有任何其他的解决办法,我愿意接受它。



在问题页中没有AJAX或JavaScript。他们是简单的HTML数据输入表单。


解决方案

您可以这样做,使用文件 web浏览器控件的属性:



C#代码:



<预类=郎-CS prettyprint-覆盖> 如果(webBrowser1.Document == NULL)回报;
变种形式= webBrowser1.Document.Forms [0]; //表单元素
VAR输入= form.Children [0]; // input元素
input.SetAttribute(价值,输入值); //设置输入值
form.InvokeMember(提交); //提交表单



装入 web浏览器演示HTML页面控制:



<预类=郎HTML prettyprint-覆盖> < HTML和GT;
< HEAD>
<标题>< /标题>
< /头>
<身体GT;
<形式方法=邮报行动=>
<输入类型=文本名称=testInputVALUE =测试/>
<输入类型=提交值=提交/>
< /表及GT;
< /身体GT;
< / HTML>


I have a webpage loading inside my WinForm application using C#

I need to programatically type data into specific fields on that page (without using WATIN).

If anyone has any other solution, I am open to it.

The page in question has NO AJAX or JavaScript. They are simple HTML data entry forms.

解决方案

You can do so using the Document property of the WebBrowser control :

C# code:

if (webBrowser1.Document == null) return;
var form = webBrowser1.Document.Forms[0]; //form element
var input = form.Children[0]; //input element
input.SetAttribute("value","input value"); //set the input value
form.InvokeMember("submit"); //submit the form

Demo HTML page loaded into the WebBrowser Control:

<html>
<head>
    <title></title>
</head>
<body>
    <form method="post" action="">
        <input type="text" name="testInput" value="test"/>
        <input type="submit" value="submit"/>
    </form>
</body>
</html>

这篇关于使用WebBrowser控件,并且需要访问DOM元素C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆