web-dev-qa-db-fra.com

Obtenez la page générée avec Javascript en Python

Je voudrais télécharger la page Web générée par Javascript et la stocker dans une variable de chaîne dans le code Python. La page est générée lorsque vous cliquez sur le bouton.

Si je connaissais l'URL résultante, j'utiliserais urllib2 Mais ce n'est pas le cas.

merci

26
xralf

Vous pouvez utiliser Selenium Webdriver :

#!/usr/bin/env python
from contextlib import closing
from Selenium.webdriver import Firefox # pip install Selenium
from Selenium.webdriver.support.ui import WebDriverWait

# use firefox to get page with javascript generated content
with closing(Firefox()) as browser:
     browser.get(url)
     button = browser.find_element_by_name('button')
     button.click()
     # wait for the page to load
     WebDriverWait(browser, timeout=10).until(
         lambda x: x.find_element_by_id('someId_that_must_be_on_new_page'))
     # store it to string variable
     page_source = browser.page_source
print(page_source)
37
jfs