2011-06-12 33 views
2

请查看this网站。它允许您使用日历或“下一个”和“上一个”链接更改日期。无论何时更改日期,下面的匹配数据都会更新。我想以编程方式选择一个日期,然后检索下方“Boxscore”链接后面的URL。用于模拟点击链接的C#代码

我已经尝试过WebBrowser控件,它经常不会完全加载页面,如果是这样,我找不到与控件交互的方式。 (我卡在webBrowser.Document.GetElementById("calendar id"))。我也试着华廷(watin.org),这会导致问题的依赖关系:

未处理的异常: System.IO.FileNotFoundException:找不到能 不加载文件或组件 “Interop.SHDocVw,版本= 1.1 .0.0, Culture = neutral, PublicKeyToken = db7cfd3 acb5ad44e'或 其依赖关系之一。 找不到文件系统指定

我也想用IeUnit些办法,但目前我不知道如何在C#程序中使用它。

有没有人有任何图书馆推荐/任何其他方法获取数据?

+1

您可能会发现这里的人不提倡网络的自动化和/或刮;无论对于那些愿意帮助的人,你都可以澄清你可以合法地做到这一点。 – 2011-06-12 23:14:23

+0

我以前做过这个。您可以在C#中使用WebBrowser控件,该控件允许您访问文档中的所有元素(DOM)。您可以使用DOM查找链接元素,然后将点击发送到链接。当然这是5年前。现在探索一个更好的方法。 – 2011-06-13 22:40:40

回答

1

只需尝试sendkeys并使用tab按钮在链接中移动,进入转到超链接,然后使用f5刷新。

+0

,您可以使用alt +选项卡在运行程序后选择窗口。 – steve76 2011-06-12 23:11:53

+0

你能澄清吗?我如何明确地结束按键到WebBrowser对象? – 2011-06-13 17:11:28

1

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

C# (Selenium WebDriver)链接下载。

编辑:First tutorial在谷歌弹出。看起来没问题。

+0

你能链接到你好世界的例子吗?所有可能有用的链接都会重定向到无组织的文档。 – 2011-06-13 17:32:01

+0

编辑后。学习谷歌的儿子,这是一个非常宝贵的技能,可以在早年学习。 – gatapia 2011-06-13 22:33:18

0

我也使用watin API进行屏幕抓取,从您发布的异常中,不会在您的代码中反映任何问题。您必须错过对“Interop.SHDocVw.dll”文件的引用,否则如果您添加了引用,请重新执行。

如果这不能帮助你,那么请检查.NET框架是否已正确安装在你的机器上,而.dll文件是否存在于程序集中以供加载。我遇到了同样的问题,我以这种方式解决了这个问题。

相关问题