#Sources used:
# https://impythonist.wordpress.com/2015/01/06/ultimate-guide-for-scraping-javascript-rendered-web-pages/
# http://stackoverflow.com/questions/37754138/how-to-render-html-with-pyqt5s-qwebengineview

URL = "https://chrome.google.com/webstore/extensions"

import requests
import sys  
from lxml import html
from PyQt5.QtCore import QEventLoop
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWebEngineWidgets import QWebEngineView

class Render(QWebEngineView):  
    def __init__(self, html):  
        self.html = None
        self.app = QApplication(sys.argv)  
        QWebEngineView.__init__(self)  
        self.loadFinished.connect(self._loadFinished)  
        self.setHtml(html)
        while self.html is None:
            self.app.processEvents(QEventLoop.ExcludeUserInputEvents | 
                    QEventLoop.ExcludeSocketNotifiers | 
                    QEventLoop.WaitForMoreEvents)
        self.app.quit()  

    def _callable(self, data):
        self.html = data
  
    def _loadFinished(self, result):  
        self.page().toHtml(self._callable)

original_html = requests.get(URL).text
r = Render(original_html)
result = r.html
print(result)



