Я использовал HTTPBuilder
как способ получения содержимого HTML сайта. В качестве примера, это, как я использовал его:HTTPBuilder Получить после выполненного Javascript
def http = new HTTPBuilder(url)
def root = http.get([:])
// Really just the standard approach.
Теперь это работало очень хорошо для статических HTML-сайтов, однако я теперь пытаюсь взять данные с сайтов, где Javascript выполняются на нагрузке, которая заполняет страницу. Например, this page.
Мой вопрос в том, имеет ли Grails/Groovy собственный способ ожидания, пока все Javascript не выполнит, прежде чем возвращать содержимое HTML. Если не родной, то третьей стороной?
Research Я уже пытался
- Я имел взгляд на библиотеки, которые пытаются издеваться браузер. Я подумал, что если бы я мог получить библиотеку для выполнения Javascript и только вернуть результат, я мог бы имитировать поведение, которое я хотел. Мои исследования в этом были несколько ограничены, так как библиотеки, которые я нашел, дают вам контроль над такими вещами, как ваш
User-Agent
.
Вы можете попробовать HtmlUnit/Selenium. На самом деле я использую это для тестирования, но он поддерживает Javascript. – wwarlock