C # код для симуляции нажатия на ссылки - PullRequest
2 голосов
/ 13 июня 2011

Пожалуйста, посмотрите на этот веб-сайт. Это позволяет вам изменить дату, используя календарь или ссылки «следующий» и «предыдущий». Всякий раз, когда дата изменяется, данные о соответствии ниже обновляются. Я хочу программно выбрать дату, а затем получить URL-адрес за ссылкой «Boxscore» в нижней части.

Я пробовал элемент управления WebBrowser, который часто не загружает страницу полностью, и если это происходит, я не могу найти способ взаимодействия с элементами управления. (Я застрял на webBrowser.Document.GetElementById("calendar id")). Я также пробовал WatiN (watin.org), который вызывает проблемы с зависимостями:

Необработанное исключение: System.IO.FileNotFoundException: может не загружать файл или сборку Interop.SHDocVw, версия = 1.1.0.0, Culture = нейтрально, PublicKeyToken = db7cfd3 acb5ad44e 'или одна из его зависимостей. Система не могу найти указанный файл

Я также пытаюсь что-то решить, используя IeUnit , но в настоящее время я не знаю, как использовать это в программе на C #.

У кого-нибудь есть какие-либо библиотеки, которые рекомендуют / любой другой метод получения данных?

Ответы [ 4 ]

1 голос
/ 13 июня 2011

Попробуйте Селен .ИМХО, это намного лучше, чем Уотин.

Скачать по ссылке C # (Selenium WebDriver) .

Редактировать: Первое руководство , которое появилось в Google,Выглядит хорошо.

1 голос
/ 13 июня 2011

Попробуйте просто отправить ключи и использовать кнопку вкладки для перемещения по ссылкам, ввести, чтобы перейти к гиперссылкам, и f5, чтобы обновить.

0 голосов
/ 15 июня 2011

Я ответил на аналогичный вопрос, порекомендовав HtmlUnit в .NET: Ищем простую библиотеку C # с поддержкой JavaScript

0 голосов
/ 14 июня 2011

Я также использовал watin API для скрининга экрана, за исключением того, что вы опубликовали, не отражает никаких проблем в вашем коде.Должно быть, вы пропустили ссылку на файл «Interop.SHDocVw.dll», или, если вы добавили ссылку, сделайте это снова.

Если это не помогло, проверьте.фреймворк правильно установлен на вашем компьютере, а в сборке есть файл .dll для загрузки.У меня была та же проблема, и я решил ее таким образом.

...