2012-05-12 13 views
3

我试图做一个登记程序: 例如: Button1的Click事件:如何通过名称从html获取注册字段的元素?

WebBrowser wb = new WebBrowser(); 
    wb.Navigate("register site"); 
    wb.Document.GetElementById("passwort").SetAttribute("value", textBox1.Text); 
    wb.Document.GetElementById("register").InvokeMember("click"); 

这里是注册页面的html代码(从查看源代码):

<td><h5>Password:<br><input type="password" name="passwort"></td> 
<td> <input type="submit" name="register" value="Registri"></td> 

有有没有机会以他的名字得到元素?因为它没有ID。

回答

3

您不能直接按名称访问元素,但可以通过首先查找输入标签并将其索引到结果中以按名称查找标签来访问它。

wb.Document.GetElementsByTagName("input")["passwort"]

+0

我在你的代码获得:错误:只有一个分配新建分配FY,递增等新对象表达式可以作为一个statment – Alexander

+0

上面的代码将返回正确的元素 - 你仍然需要做的事情与它: 'var passwordElement = wb.Document.GetElementsByTagName(“input”)[“passwort”]; passwordElement.SetAttribute(“value”,“your_password”);' – Xerxes

相关问题