Очистите динамический веб-сайт

Я бы предложил сделать логическую проверку, как предложил PGCodeRider. Вот моя предложенная функция

    Public Function IsGoodTime(ByVal strInString As String) As Boolean
        Dim blnOut As Boolean
        Dim intPos As Integer
        Dim strTemp As String
        Dim strLeft As String
        Dim strRight As String
        Dim intLeft As Integer
        Dim intRight As Integer

        blnOut = True
        strTemp = Trim(strInString)

        intPos = InStr(1, strTemp, ":")
        If intPos > 0 Then
            strLeft = Mid(strTemp, 1, intPos - 1)
            strRight = Mid(strTemp, intPos + 1, Len(strTemp))
        Else
            strRight = Right(strTemp, 2)
            strLeft = Mid(strTemp, 1, Len(strTemp) - 2)
        End If

        intLeft = 0
        intRight = 0
        If IsNumeric(strLeft) Then intLeft = CInt(strLeft)
        If IsNumeric(strRight) Then intRight = CInt(strRight)

        If (Not ((intLeft > 0) And (intLeft < 13))) Then blnOut = False
        If (Not ((intRight > 0) And (intRight < 60))) Then blnOut = False

        IsGoodTime = blnOut

    End Function

12
задан Colin Barnes 16 October 2008 в 00:16
поделиться

8 ответов

Это - трудная проблема, потому что или необходимо перепроектировать JavaScript на основе на сайт, или реализовать механизм JavaScript и запустить скрипты (который испытывает его собственные затруднения и ловушки).

Это - тяжелое решение для веса, но я видел, что люди делают, это со сценариями механика - позволяет Firefox представлять все и запускать JavaScript и затем очищать элементы. Можно даже инициировать пользовательские действия на странице в случае необходимости.

- Adam

7
ответ дан 2 December 2019 в 06:10
поделиться

Лучшее решение, которое я нашел, состояло в том, чтобы использовать Firebug, чтобы контролировать XmlHttpRequests и затем использовать сценарий для повторной отправки их.

7
ответ дан 2 December 2019 в 06:10
поделиться

IDE селена, инструмент для тестирования, является чем-то, что я использовал для большого анализа экранных данных. Существует несколько вещей, которые это не обрабатывает хорошо (JavaScript window.alert () и всплывающие окна в целом), но это делает свою работу на странице путем фактического инициирования событий щелчка и ввода в текстовые поля. Поскольку часть IDE работает в Firefox, Вы не должны делать всего управления сессиями, и т.д. поскольку Firefox заботится о нем. IDE записывает и воспроизводит тесты.

Это также экспортирует C#, PHP, Java, и т.д. кодируют для создания скомпилированных тестов/скребков, которые выполняются на сервере Селена. Я сделал это для больше, чем нескольких моих сценариев Селена, которое делает вещи как то, чтобы хранить очищенные данные в базе данных намного легче.

Сценарии довольно просты записать и измениться, будучи составленным из вещей как ("clickAndWait", "submitButton"). Стоящий взгляда, данного, что Вы описываете.

4
ответ дан 2 December 2019 в 06:10
поделиться

Совет Adam Davis является основательным.

Я дополнительно предложил бы, чтобы Вы попытались "перепроектировать" то, что JavaScript делает, и вместо того, чтобы пытаться очистить страницу, Вы выпускаете Запросы HTTP, которые выпускает JavaScript, и интерпретируйте результаты сами (скорее всего, в формате JSON, хорошем и легком проанализировать). Эта стратегия могла быть чем-либо от тривиального до общего кошмара, в зависимости от сложности JavaScript.

Лучшая возможность, конечно, состояла бы в том, чтобы убедить специалистов по обслуживанию веб-сайта реализовывать благоприятный для разработчика API. Все спокойные дети делают его в эти дни 8-) Конечно, они не могли бы хотеть свои данные, очищенные автоматизированным способом..., в этом случае можно ожидать игру кошки-мышки создания их страницы, все больше трудной очищать :-(

3
ответ дан 2 December 2019 в 06:10
поделиться

Существует определенная кривая обучения, но инструменты как Pamie (Python) или Watir (Ruby) позволят Вам фиксироваться в веб-браузер IE и достигнуть элементы. Это оказывается легче, чем Механизируют и другие инструменты уровня HTTP, так как Вы не должны эмулировать браузер, Вы просто просите у браузера элементы HTML. И это будет путем, легче, чем инженерный анализ вызовов Javascript/Ajax. В случае необходимости можно также использовать инструменты как красивый суп в сочетании с Pamie.

2
ответ дан 2 December 2019 в 06:10
поделиться

Вероятно, самый легкий путь состоит в том, чтобы использовать IE webbrowser управление в C# (или любой другой язык). У Вас есть доступ ко всему материалу в браузере из поля +, Вы не должны заботиться о cookie, SSL и так далее.

1
ответ дан 2 December 2019 в 06:10
поделиться

Это кажется, что это - довольно типичная проблема. Интересно, почему у кого-то нет никого, разработал программный браузер? Я предполагаю Firefox, который можно назвать из командной строки с URL как аргумент, и она загрузит страницу, выполнит все начальные события JS загрузки страницы и сохранит получающийся файл.

Я имею в виду Firefox, и другие браузеры уже делают это, почему мы не можем просто снять изоляцию с материала UI?

0
ответ дан 2 December 2019 в 06:10
поделиться

я нашел, что управление Webbrowser IE имеет все виды причуд и обходных решений, которые выровняли бы по ширине некоторое высококачественное программное обеспечение, чтобы заботиться обо всех тех несоответствиях, разделенных на уровни вокруг API shvwdoc.dll и mshtml и служить основой.

1
ответ дан 2 December 2019 в 06:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: