我现在已经被困在一个项目上好几天了。杀了我我从这个地方得到了很多帮助,感谢我!现在,问题是:
当我按下"收集按钮时,我希望我的程序做什么?是自动点击每个按钮,名称为" icon_go.GIF"在页面上,然后从该页面收集一些信息。我现在遇到的问题是,当我的程序按下第一个按钮时,有10个,它会加载页面并收集第一条信息。然后,第一个按钮是"第一个"再次点击它再次点击。这个计数10次,因为有10个inputImages ...
如何让我的代码理解,点击下一步" icon_go.GIF"按钮而不是最后一次?
以下是我现在获得的代码:
private void btnCollect_Click(object sender, EventArgs e)
{
SHDocVw.ShellWindows AllBrowsers = new SHDocVw.ShellWindows();
foreach (SHDocVw.InternetExplorer ieInst in AllBrowsers)
{
mshtml.IHTMLDocument2 htmlDoc = ieInst.Document as mshtml.IHTMLDocument2;
foreach (mshtml.IHTMLElement element in htmlDoc.all)
{
var input = element as mshtml.IHTMLInputImage;
if (input != null && Path.GetFileName(input.src).Equals("icon_go.GIF", StringComparison.OrdinalIgnoreCase))
{
((mshtml.IHTMLElement)input).click(); // Click the icon_go.GIF button
System.Threading.Thread.Sleep(1000); // Wait 1 sec to load new page
html = htmlDoc.body.outerHTML;
/*
Collecting info here
*/
}
}
}
以下是一些HTML代码:
<TD align=center><INPUT title="View Detail Statistics" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 14px; BORDER-RIGHT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; WIDTH: 14px" src="../App_Themes/Company/Images/icon_go.GIF" type=image name=process1></TD></TR>
<TD align=center><INPUT title="View Detail Statistics" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 14px; BORDER-RIGHT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; WIDTH: 14px" src="../App_Themes/Company/Images/icon_go.GIF" type=image name=process2></TD></TR>
我希望你们明白我在这里想说的话...... 谢谢!
答案 0 :(得分:0)
我解决了自己的问题!跟随mmeasors建议并列出所有输入!