2012-09-18 50 views
1

我試圖抓取一個網站,我需要使用Javascript。我正在使用Python 2.7和Spynner。這是腳本:Javascript和Spynner(Python)

<a href="javascript://" onclick="TranslationPopUpTestimonialQuery('Language_ALL', '',  '5', '10', 'date-of-visit')">6</a> 

這是我在Python代碼:

import spynner 
    browser = spynner.Browser() 
    browser.load("http://www.zoover.it/italia/lazio/roma/galileo/hotel") 
    page1 = browser._get_html() 
    browser.runjs("TranslationPopUpTestimonialQuery('Language_ALL', '', '8', '10', 'date-of-visit')") 
    browser.wait_load() 
    page2 = browser._get_html() 

東西不爲get_html不給我想要的HTML頁面工作...

這是第一位網址:http://www.zoover.it/italia/lazio/roma/galileo/hotel。我用browser.load()加載這個頁面,我得到了HTML。在我嘗試去瀏覽第2頁,用browser.runjs()模擬點擊。我在onClick上調用了javascript。然後,如果我再次調用browser._get_html(),則HTML永遠是相同的。 任何人都可以幫助我嗎?謝謝

+0

請更具體地說明您遇到的問題。 – Marcin

+0

我已經從一個網址讀取了幾個頁面(例如:www.mypage.com)。要從一個頁面移動到另一個頁面,我必須點擊帶有號碼的鏈接(例如:2.3.4.5 ...)。該鏈接激活JavaScript。米問題是:我的代碼只加載第一頁,而不是其他。 (對不起,我的英語) – RoverDar

+0

在你的問題中提供一個更全面的描述,連同代碼和輸出展示問題。請使用真實的網址。 http://sscce.org/ – Marcin

回答

0

它你想要的HTML是在彈出,你將不得不切換spynner幀。

什麼spynner給你總是活動框架的HTML,彈出窗口在另一個框架中打開。

Spynner是qtwebwekit接口和QtWebKit的使用:http://doc.qt.digia.com/4.7-snapshot/qwebframe.html

你可以看到有「childframes」,您可以與self.webframe反思。

+0

非常感謝你的信息。好吧,我看到托盤。這對我來說並不容易......你能解釋一下嗎?再次感謝 – RoverDar