Javascript injection in Splash?

Posted over 5 years ago by Graham Anderson

Post a topic
Answered
G
Graham Anderson

Hi. I'm trying to learn Scrapy-Splash. Within the below Splash lua script, the png returned does not show the updated element.

The javascript does work in Chrome Dev Tools. 

Any push in the right direction is appreciated.

    

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';
  }
  ]])
	 return {png=splash:png()}
end

 

    



0 Votes

thriveni

thriveni posted about 5 years ago Admin Best Answer

Hello, 


I understand that there was a Support ticket for this issue and Javascript Injection can be done through splash through js_source  https://splash.readthedocs.io/en/stable/api.html#executing-custom-javascript-code-within-page-context

0 Votes


1 Comments

thriveni

thriveni posted about 5 years ago Admin Answer

Hello, 


I understand that there was a Support ticket for this issue and Javascript Injection can be done through splash through js_source  https://splash.readthedocs.io/en/stable/api.html#executing-custom-javascript-code-within-page-context

0 Votes

Login to post a comment