Search code examples
javascriptjquerywkhtmltopdfwkhtmltoimage

How to run custom Javascript on Wkhtmltopdf/wkhtmltoimage?


I want to run a javascript on a website, but when I do it, nothing changes, I get the pdf as if I run no result of the javascript on it, this is an example of what I do:

xvfb-run --server-args="-screen 0, 1024x768x24" wkhtmltoimage --run-script "javascript:(\$(function(){ \$("div").hide()   ;}))" google.com google.png

I have also scripts without jquery like:

xvfb-run --server-args="-screen 0, 1024x768x24" wkhtmltopdf --run-script "javascript:(function(){ document.write("AHHHHHHHHHHHHHHHHHHHHHHHHHHHHH"); ;})" google.com p2.pdf

But as I said, no effect on the pdf or the png (because I have tried both wkhtmltoimage and wkhtmltopdf).


Solution

  • Your command uses quotes incorrectly; try this:

    --run-script "javascript:(\$(function(){ \$('div').hide()   ;}))"
    

    Also, try increasing the JavaScript delay:

    --javascript-delay 1000
    

    http://wkhtmltopdf.org/usage/wkhtmltopdf.txt