用于打开浏览器并单击特定链接的实用程序

时间:2014-09-25 09:10:25

标签: c# c#-3.0

我必须创建一个实用程序,它将打开特定站点的浏览器并单击该页面中的特定超链接。 我正在使用以下代码创建一个控制台应用程序

try
{
    System.Diagnostics.Process.Start("MyURL.aspx");
}
catch (Exception ex)
{
}

有人可以帮助您点击上页中显示的特定链接吗?

我不想使用任何第三方工具,是否可以使用现有的.net库来完成?

3 个答案:

答案 0 :(得分:0)

正如评论中所建议的那样,使用WatiN会更容易:

using(var browser = new IE())
{
    browser.GoTo("url");
}

点击特定链接:

browser.Link(Find.ById("someId")).Click();

答案 1 :(得分:0)

继续使用HTML敏捷包将DOM附加到超级节点,并在其中查询后续的数据 - 例如链接。

答案 2 :(得分:0)

如果您不想使用任何外部工具,那么对于Internet Explorer,可以使用SHDocVw库轻松完成。以下是打开Goog​​le网页并点击“登录”链接的小例子。

SHDocVw.InternetExplorer ie = new SHDocVw.InternetExplorer();
ie.Visible = true;
ie.Navigate("https://www.google.co.in");
//Wait for page to load
while (ie.Busy) 
{
    Threading.Thread.Sleep(100);
}
dynamic allLinks = ((mshtml.IHTMLDocument3)ie.Document).getElementsByTagName("a");
foreach (mshtml.IHTMLAnchorElement link in allLinks) {
    //Do some validation to find out the required link
    if (link.href.Contains("https://accounts.google.com/ServiceLogin")) {
        link.click();
    }
}