关于WebBrowser控件的两个问题

时间:2010-04-27 06:28:45

标签: c# browser

  1. 如果源代码没有“id =''”,但如果只有“name =''”,我如何获得HtmlElement。 Document.GetElementById()不起作用,而Document.All [“”]不起作用(显然,因为没有ID。

  2. 如何模拟表单帖子?

  3. 问题1更重要,因为我发现搜索更难。问题2我想我可以进行更多的搜索。

4 个答案:

答案 0 :(得分:1)

GetElementsByTagName可以获取您所追求的所有标记,然后您可以查看返回的集合中的元素(如果有多个)。

This帖子显示了如何提交表单元素。

答案 1 :(得分:0)

您也可以通过GetElementByName获取元素。

答案 2 :(得分:0)

1。 您可以使用document.getElementsByName。它返回一个包含所有具有指定名称的元素的数组(因为名称不必像id:s那样是唯一的)。

2。 您可以使用submit元素的form方法进行发布。表单可以是页面中的现有表单,也可以在需要时动态创建。

如果您想自己处理响应而不是将其作为文档加载,您也可以使用XmlHttpRequest对象发帖。

答案 3 :(得分:0)

这里似乎有些混乱,所以我总结一下:

document对象上,您可以使用许多方法来查找元素:

  • document.getElementById('myid');将返回单个DOM元素(如果存在),id属性等于myid
  • document.getElementsByName('myname');将返回一个DOM元素数组,其name属性等于myname
  • document.getElementsByTagName('div');将返回一个带有匹配标记的DOM元素数组 - 在本例中为文档中的所有div

案件很重要。

这样清楚了吗?

这应该适用于所有浏览器,前提是您没有尝试在iframe中获取元素或类似内容,但如果您遇到不同浏览器的问题,我建议使用类似jQuery的东西。它抽象了浏览器与您的差异,因此无论使用何种浏览器,您都可以使用相同的语法。