C#:访问和修改WebBrowser控件中的值

时间:2009-11-23 01:18:22

标签: c# .net dom browser webbrowser-control

我有一个WebBrowser控件,我想在HTML中编辑一个字段,然后提交一个表单。假设该字段名为txtUname,并且提交按钮的格式为submit form1。我怎么能这样做?

我目前正在考虑使用类似的东西,但我还没有测试过它:

//Change value

webBrowser1.Document.getElementbyId("txtUname").setAttribute("value","this is my value");

//Submit form

webBrowser1.Document.Forms("form1").invokeMember("submit");

此外,这适用于任何类型的领域吗?

此外,是否可以在WebClient中执行类似的操作?

2 个答案:

答案 0 :(得分:1)

可以帮助您查看找到herehere的Web浏览器控件的扩展版本。它显示了如何获取文档和包含字段的元素。另一方面,webclient是较低级别,然后使用webBrowser1对象作为代码示例。使用WebClient在http级别工作,也可以在ftp级别使用。希望这可以帮助。最好的问候,汤姆。

答案 1 :(得分:1)

如果可能的话,使用WebClient会更加困难。

你为什么要这样做呢?因为如果要测试网页,那么最好使用SeleniumWaitN

他们允许你在单元测试中做这样的事情:

[Test] 
public void SearchForWatiNOnGoogle()
{
 using (IE ie = new IE("http://www.google.com"))
 {
  ie.TextField(Find.ByName("q")).TypeText("WatiN");
  ie.Button(Find.ByName("btnG")).Click();

  Assert.IsTrue(ie.ContainsText("WatiN"));
 }
}

该示例来自WaitN主页......