запуск JS кода на странице из Python

318
18 мая 2017, 11:51

Моя задача получить список имен в scope браузера на какой-то странице, используя Python. Как параметр функции я получаю URL запроса.

Также есть JS код, который просматривает объекты в scope, фильтрует их по определенным правилам и возвращает массив с именами функций, которые на данный момент объявлены.

В целом, нужно сделать примерно следующее:

  1. Открыть страницу по заданному URL.
  2. Выполнить JS-код.
  3. Получить результат, который возвращает функция JS скрипта.

Все это нужно сделать из Python. Я искал инструменты, с помощью которых можно сделать что-то подобное. Наткнулся на robobrowser. Почти то, что мне нужно, но я не нашел в документации возможности выполнения JS.

Может быть кто-то может подсказать библиотеки или модули, которые позволяют выполнить JavaScript в браузере после загрузки страницы и получить результат выполнения этого скрипта? Или может быть проимитировать работу браузера из Python.

Answer 1

selenium. И работу браузера имитирует, и js-скрипты можно выполнять...

READ ALSO
Использование Fabric.js и Marionette.js

Использование Fabric.js и Marionette.js

Подскажите, как использовать Fabricjs в Marionette

278
По клику изменять .text div'a туда и обратно

По клику изменять .text div'a туда и обратно

Есть div с текстом: Показать всеПо клику на него должен меняться текст на Скрыть все

320
Некорректный скроллинг при DOMContentLoaded

Некорректный скроллинг при DOMContentLoaded

Страница разбита на n суперблоков структуры:

205
События js , динамические элементы

События js , динамические элементы

Перемещаю div js в разные места (переменная > remove() > append), есть события клик на внутренние элементы , при изменении положения дива , клик перестает...

275