навигация по сайту программно - PullRequest
0 голосов
/ 10 июля 2010

В настоящее время я работаю над проектом, для которого мне нужно перемещаться по сайту программно. Я использую C #. В некоторых случаях сайты перемещаются (изменяют содержимое страницы) по событию элемента управления, а URL остаются неизменными. как показано ниже

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

На этой странице есть раскрывающийся список (Прайс-лист как на), и содержимое страницы изменяется при изменении элемента раскрытия, а URL-адрес страницы остается тем же. Кто-нибудь может подсказать, как я могу достичь этого программно, означая динамическое изменение выпадающего элемента и получение его содержимого от этого выпадающего элемента.

Короче говоря, я хочу динамическое содержимое страницы, которое идет против события элемента управления, основанного на некотором значении. Что в моем случае является событием onchange dropdrown на основе выбранного значения раскрывающегося списка

Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 10 июля 2010

Вы можете попробовать с Selenium. Взгляните на: http://seleniumhq.org/. Кроме того, вы можете написать веб-сканер на многих языках по вашему выбору. Если вы предпочитаете .NET, взгляните на HttpWebRequestClass.

1 голос
/ 10 июля 2010

Из вашего вопроса непонятно, но я предполагаю, что вы пытаетесь заставить свое приложение C # автоматизировать веб-браузер, который выполняется как отдельное приложение (в отличие от встраивания элемента управления WebBrowser в ваше приложение и его автоматизации).

Звучит так: 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"));
}
0 голосов
/ 10 июля 2010

Я думаю, что вы пытаетесь очистить страницу.Если да, то HTML Agility Pack - лучший выбор для использования в приложении .NET и программной очистки страницы.

...