C#代码模拟点击链接

时间:2011-06-12 23:08:41

标签: c# javascript .net screen-scraping web-scraping

请查看this网站。它允许您使用日历或“下一个”和“上一个”链接更改日期。每当更改日期时,下面的匹配数据都会更新。我想以编程方式选择日期,然后检索下方“Boxscore”链接背后的URL。

我尝试过WebBrowser控件,它通常不会完全加载页面,如果确实如此,我找不到与控件交互的方法。 (我被困在webBrowser.Document.GetElementById("calendar id"))。我也尝试了WatiN(watin.org),这会导致依赖性问题:

  

未处理的例外情况:   System.IO.FileNotFoundException:可以   不加载文件或程序集   'Interop.SHDocVw,版本= 1.1.0.0,   文化=中性,   PublicKeyToken = db7cfd3 acb5ad44e'或   其中一个依赖项。系统   找不到指定的文件

我也尝试使用IeUnit解决问题,但目前我不知道如何在C#程序中使用它。

是否有人推荐任何库/获取数据的其他任何方法?

4 个答案:

答案 0 :(得分:1)

尝试使用sendkeys并使用标签按钮移动链接,输入转到超链接,然后按f5刷新。

答案 1 :(得分:1)

试试Selenium。恕我直言,它比Watin好得多。

使用C# (Selenium WebDriver)链接下载。

编辑:First tutorial在谷歌上弹出。看起来不错。

答案 2 :(得分:0)

我还使用了watin API进行屏幕抓取,从您发布的例外情况来看,并未反映代码中的任何问题。您必须错过了对“Interop.SHDocVw.dll”文件的引用,否则如果您添加了引用,请再次执行。

如果这对您没有帮助,请检查您的计算机中是否正确安装了.NET框架,并且装配中的.dll文件是否存在。我遇到了同样的问题,我就这样解决了。

答案 3 :(得分:0)

我回答了在.NET下推荐HtmlUnit的类似问题:Looking for a simple C# scraping library with JavaScript support