以编程方式导航网站

时间:2010-07-10 11:10:32

标签: navigation

我目前正在开发一个项目,我必须以编程方式浏览网站。我正在使用C#。在某些情况下,站点会在控件事件中导航(更改页面内容),而URL保持不变。喜欢下面的那个

http://www.centurysecuritiesng.com/Home/tabid/36/ctl/listing/mid/410/Default.aspx

在此页面上有一个下拉列表(价格列表为),页面内容在下拉项目更改时更改,而页面的URL保持不变。任何人都可以建议我如何以编程方式实现此操作,意味着动态更改下拉项目并将其内容与该下拉项目相对应。

简而言之,我希望页面的动态内容基于某些值来对抗控件事件。在我的情况下,基于下拉列表的选定值的dropdrown的onchange事件

提前致谢。

3 个答案:

答案 0 :(得分:2)

您可以尝试使用Selenium。看看:http://seleniumhq.org/。此外,您可以使用您选择的多种语言编写Web爬虫。如果您更喜欢.NET,请查看HttpWebRequestClass。

答案 1 :(得分:1)

您的问题并不清楚,但我认为您正在尝试让您的C#应用​​程序自动运行作为单独应用程序运行的Web浏览器(而不是在您的应用程序中嵌入WebBrowser控件并自动执行此操作)。 p>

这听起来像WatiN的意思是自动化。它适用于自动化测试(可能或可能不是您正在做的事情),但为您提供了一种简单的方法来驱动IE或FireFox的外部实例,导航到页面,查找文本字段并键入它们,单击按钮,等

来自其网站的示例代码段:

using (var browser = new IE("http://www.google.com"))
{
    browser.TextField(Find.ByName("q")).TypeText("WatiN");
    browser.Button(Find.ByName("btnG")).Click();

    Assert.IsTrue(browser.ContainsText("WatiN"));
}

答案 2 :(得分:0)

我认为您正在尝试进行页面抓取。如果是,那么HTML Agility Pack是您在.NET应用程序中使用并以编程方式废弃页面的最佳选择。