Инъекция JavaScript с помощью Splash Server (как?) - PullRequest
0 голосов
/ 02 июня 2019

Вопрос: Как я могу изменить приведенный ниже скрипт Splash / Lua, чтобы он возвращал страницу с внедрением javascript?

В приведенном ниже скрипте Splash lua возвращенный png не показывает обновленный элемент title. Для простоты я запускаю этот код прямо в браузере сервера Splash. Это наверное что-то глупое.

Javascript действительно обновляет заголовок страницы в Chrome Dev Tools - заголовок страницы изменен на «Инъекция JavaScript» На сервере Splash возвращенный png остается неизменным ... остается "Hacker News"

Любой толчок в правильном направлении приветствуется. Мое нынешнее понимание Lua / Splash немного шатко. Заранее спасибо

function main(splash, args)
  assert(splash:go("https://news.ycombinator.com/"))
  splash:runjs([[
  el = document.evaluate('//b[@class="hnname"]',document, null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;
  if (el != null) {
      el.textContent = 'Javascript Injection';
  }
  ]])
  splash:wait(0.5)
  return {png=splash:png()}
end

Я ожидаю, что заголовок страницы «Новости хакера» будет изменен на «Инъекция Javascript» ... и затем будет возвращен как страница png в Splash Browser.

...