如何获取由JavaScript触发的新窗口中的HTML元素?

问题描述:

我在Windows窗体应用程序中使用WebBrowser控件来自动化网站并执行一些操作,所以我需要知道网站中的HTML元素(例如,文本框ID,按钮ID)。如何获取由JavaScript触发的新窗口中的HTML元素?

一切都运转平稳,直到我遇到一种情况。有一个html链接元素指向自己(例如:“http://www.aaa.com”),但触发一个具有不同url的新窗口(例如:“http://www.bbb.com”)。下面是HTML链接元素:

< a href="#" class="toolbar" id="Export_Link" onclick="showExportWindow();" title="Export me">Exports &amp; Reports< /a> 

它出现了一个新的窗口,不同的网址,因此,WebBrowser控件不能因为它在旧的窗口追溯html元素来获得在新窗口中的HTML元素(“http://www.aaa.com#”)而不是新窗口(“http://www.bbb.com”)

请帮帮我!我已经在这里玩了1周了!任何人都知道如何解决这个问题?

+0

对我而言,问题还不清楚。我不明白。 – Tengiz 2011-03-18 09:51:13

+0

哪部分你不明白? :) – DEN 2011-03-18 09:54:35

+0

这:它显示了一个新的窗口与不同的网址,因此,WebBrowser控件无法获取新窗口中的HTML元素,因为它追溯旧窗口中的html元素(“http://www.aaa .com#“)而不是新窗口(”http://www.bbb.com“) – Tengiz 2011-03-18 10:24:38

我不确定我是否正确理解您的问题,但似乎您正在努力使用“#”链接。即使您想使用JavaScript打开此页面,链接到外部页面也是常见做法。这为禁用javascript支持的浏览器提供了良好的回退。

<a href="otherpage.html" onclick="window.open('otherpage.html','external'); return false;">Other</a> 

收费关于返回FALSE;在JavaScript结束时,有必要告诉浏览器JavaScript运行时不应该遵循“正常”页面链接。

+0

有一个原因,我倾向于不使用链接,但文本点击处理程序有时。 – 2011-03-18 12:29:34