2012-01-06 3 views
1

Я могу проверить любой DOM, созданный Javascript, с помощью Firebug или другого отладчика. Firebug также позволяет мне интерактивно копировать сгенерированный innerHTML любого элемента в буфер обмена таким образом, что я могу сохранить его на диске.Как читать программно DOM, сгенерированный Javascript?

Есть ли система/инструмент, который позволяет выполнять эти интерактивные задачи программно? Такой инструмент/плагин должен иметь возможность читать созданный Javascript DOM и программно сохранять его на диск.

+0

Насколько я знаю, нет таких инструментов программно будет делать что – Raghav

+0

Какой язык вы предпочитаете? Или вам нужно приложение? – tryme

+0

Моя цель? Отладка вашего JS или просмотр того, что делает JS на чужой странице? –

ответ

1

Я не знаю какого-либо существующего инструмента, который позволит вам это сделать, поэтому вам, вероятно, потребуется написать собственный скрипт для решения этой задачи.

Для этого вы можете использовать библиотеку, например Selenium. Используя это, вы даже можете выбрать, какой браузер вы хотите использовать для рендеринга веб-сайта.

Если вы работаете в Linux, я могу также порекомендовать для этого свой собственный проект webkit-scraping (эта рекомендация, конечно, немного предвзята;). Он использует экземпляр Webkit в памяти для визуализации страницы и выполнения Javascript в ней. После компиляции сервера с cd webkit-server && qmake && make, вы можете сделать что-то подобное в Python:

import os, sys 

sys.path.insert(0, '/path/to/webkit-scraping/lib') 
import webkit_scraping 

URL = 'http://example.org' 
OUTFILE = '/tmp/example.html' 

if __name__ == '__main__': 
    # set up a web scraping session 
    driver = webkit_scraping.webkit_server.Driver() 
    sess = webkit_scraping.scraping.Session(driver = driver) 
    sess.visit(URL) 

    with open(OUTFILE, 'wb') as f: 
    f.write(sess.body())