我必须创建一个实用程序,它将打开特定站点的浏览器并单击该页面中的特定超链接。 我正在使用以下代码创建一个控制台应用程序
try
{
System.Diagnostics.Process.Start("MyURL.aspx");
}
catch (Exception ex)
{
}
有人可以帮助您点击上页中显示的特定链接吗?
我不想使用任何第三方工具,是否可以使用现有的.net库来完成?
答案 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库轻松完成。以下是打开Google网页并点击“登录”链接的小例子。
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();
}
}