2012-02-16 109 views
1

我知道在Web浏览器中,您可以使用Document.GetElementById来查找元素的name属性,但我想使用idclass属性在网页中搜索元素,在WebBrowser中如何执行此操作?我想让它点击图片标签。如何使用WebBrowser通过ID或类属性获取元素?

<td id="button1-cell"><img src="/static/button1.png" alt="Button 1" id="but1"></td> 

此外,是否有可能InvokeMember("click")上的div?

回答

2

GetElementById's documentation表示它通过ID获取元素,而不是名称。如果你想通过名字找到一个元素,你可以使用

webBrowser1.Document.All("name") 
+0

我不知道为什么,但对于我在Visual Basic中,它使用它通过它的名称属性获取元素。如果我试图使用它来获得一个id它会抛出一个错误。 – Alex 2012-02-16 15:33:58

+0

它适合我。我拿你的例子,并将其粘贴到一个示例HTML页面,并能够做到这一点:MessageBox.Show(WebBrowser1.Document.GetElementById(“but1”)。GetAttribute(“src”))。它看起来像getElementById试图变得聪明,如果该ID不存在将使用该名称。在测试之前,您可能想要确保您在IE中清除缓存,因为在测试期间遇到问题时加载了缓存版本的页面。 – 2012-02-16 15:49:50

+0

但是如何点击图片/按钮?我尝试了'MasterBrowser.Document.GetElementById(“but1”)。InvokeMember(“click”)''但它抛出了“**对象引用未设置为对象的实例。**” – Alex 2012-02-16 15:53:10

相关问题