def __main_qt(): # Render the page. # If this method times out or loading failed, a # RuntimeException is thrown try: # Initialize WebkitRenderer object renderer = WebkitRenderer() renderer.logger = logger renderer.width = 400 renderer.height = 600 renderer.timeout = 5 renderer.wait = 1 renderer.format = options.format renderer.grabWholeWindow = options.window renderer.renderTransparentBackground = options.transparent renderer.encodedUrl = options.encoded_url if options.cookies: renderer.cookies = options.cookies if options.scale: renderer.scaleRatio = options.ratio renderer.scaleToWidth = options.scale[0] renderer.scaleToHeight = options.scale[1] if options.features: if "javascript" in options.features: renderer.qWebSettings[ QWebSettings.JavascriptEnabled] = True if "plugins" in options.features: renderer.qWebSettings[QWebSettings.PluginsEnabled] = True print(options.url) renderer.render_to_file(res=options.url, file_object=options.output) options.output.close() QApplication.exit(0) except RuntimeError as e: logger.error("main: %s" % e) print(e) QApplication.exit(1)
def _get_renderer(self, width, height): try: return self.renderers[(width, height)] except: if self.verbose: print "about to make WebkitRenderer" renderer = WebkitRenderer(scaleRatio='crop', scaleTransform='smooth', scaleToWidth=width, scaleToHeight=height, width=1440, height=900, wait=5, timeout=60, ignoreAlerts=True, ignoreConfirms=True, ignoreConsoleMessages=True) if self.verbose: print "done making WebkitRenderer" renderer.qWebSettings[QWebSettings.JavascriptEnabled] = True self.renderers[(width, height)] = renderer return renderer
def __main_qt(): # Render the page. # If this method times out or loading failed, a # RuntimeException is thrown try: # Initialize WebkitRenderer object renderer = WebkitRenderer() renderer.logger = logger renderer.width = options.geometry[0] renderer.height = options.geometry[1] renderer.timeout = options.timeout renderer.wait = options.wait renderer.format = options.format renderer.grabWholeWindow = options.window renderer.renderTransparentBackground = options.transparent renderer.quality = options.quality if options.scale: renderer.scaleRatio = options.ratio renderer.scaleToWidth = options.scale[0] renderer.scaleToHeight = options.scale[1] if options.features: if "javascript" in options.features: renderer.qWebSettings[ QWebSettings.JavascriptEnabled] = True if "plugins" in options.features: renderer.qWebSettings[QWebSettings.PluginsEnabled] = True try: res = 0 renderer.render_to_file(url=options.url, file_object=options.output) except BaseWebkitException, e: res = e.status_code finally: options.output.close() QApplication.exit(res)
def __init__(self): #self.app_gui = self.init_qtgui() self.renderer = WebkitRenderer() self.renderer.format = 'jpg' self.renderer.width = 1024 self.renderer.height = 900
#!/usr/bin/env python import sys import signal from webkit2png import WebkitRenderer from PyQt4.QtCore import * from PyQt4.QtGui import * from PyQt4.QtWebKit import QWebPage app = QApplication(sys.argv) signal.signal(signal.SIGINT, signal.SIG_DFL) wkr = WebkitRenderer() hosts = ['http://www.google.com', 'http://wikipedia.com', 'http://github.com'] for host in hosts: try: f = open(("%s.png" % host).replace('/', '_'), 'w') wkr.render_to_file(host, f) f.close() print "finished %s" % host except Exception, err: print "Error on %s: %s" % (host, str(err))