C# 如何在javascript触发的新窗口中获取HTML元素?

C# 如何在javascript触发的新窗口中获取HTML元素?,c#,javascript,html,webforms,browser,C#,Javascript,Html,Webforms,Browser,我正在使用Windows窗体应用程序中的WebBrowser控件来自动化网站并执行一些操作,因此我需要知道网站中的HTML元素(例如,文本框id、按钮id) 在我遇到一种情况之前,一切都很顺利。有一个指向自身的html链接元素(例如:http://www.aaa.com)但会触发具有不同url的新窗口(例如:http://www.bbb.com"). 下面是html链接元素: < a href="#" class="toolbar" id="Export_Link" onclick="sh

我正在使用Windows窗体应用程序中的WebBrowser控件来自动化网站并执行一些操作,因此我需要知道网站中的HTML元素(例如,文本框id、按钮id)

在我遇到一种情况之前,一切都很顺利。有一个指向自身的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>
导出&;报告
它显示了一个具有不同url的新窗口,因此WebBrowser控件无法在新窗口中获取HTML元素,因为它可以追溯到旧窗口中的HTML元素(“http://www.aaa.com#)而不是新窗口(“”)http://www.bbb.com))


请帮帮我!我已经在这里呆了一个星期了!有人知道如何解决这个问题吗?

我不确定我是否正确理解了您的问题,但您似乎正在与“#”链接作斗争。链接到外部页面是一种常见做法,即使您希望使用javascript打开此页面。这为禁用javascript支持的浏览器提供了很好的回退

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


注意返回错误在javascript结束时,有必要告诉浏览器在javascript运行时不应遵循“正常”页面链接。

对我来说,问题还不清楚。我不明白。你不明白哪一部分这是:它显示了一个具有不同url的新窗口,因此,WebBrowser控件无法在新窗口中获取HTML元素,因为它跟踪旧窗口(“)中的HTML元素,而不是新窗口(“)。aaa.com和bbb.com是不同链接的示例。aaa.com是当前窗口的url,bbb.com是单击html链接元素后新窗口的url链接。从上面可以看到,html链接元素指向href=“#”,这意味着它将指向从aaa.com到aaa.com的同一url。但是,在我单击html链接元素后,它会启动一个带有bbb.com url的新窗口,尽管html链接元素指向它自己。所以我认为这是因为javascript函数showExportWindow()触发了它…我面临的问题就是因为这个…当然这是因为onclick处理程序中的javascript代码。当你点击链接时,这个函数可能会打开bbb.com。我倾向于不使用链接,但有时使用文本点击处理程序的原因之一。