web-dev-qa-db-ja.com

Python

Javascriptによって生成されたWebページをダウンロードし、Pythonコードの文字列変数に保存したいと思います。ボタンをクリックするとページが生成されます。

結果のURLがわかるとしたら、urllib2しかし、そうではありません。

ありがとうございました

26
xralf

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