2012-02-18 128 views
0

我正在寫一個履帶式掃描圖像,需要通過編程的方式單擊菜單才能轉到下一頁。這裏是我的代碼,只要在頁面加載完成:爲什麼evaluateJavaScript只能使用一次?

public slots: 

void nextPage() 
{ 
    mainFrame()->evaluateJavaScript("readweb.nextPage()"); 
} 

點擊後,主機應該加載一個新的URL指向下一個網頁(其中包含圖像我要抓取)。但我發現它只適用於第一個時間。第一次點擊後,第二次點擊不會導致新的url加載。網頁的js腳本已經加載,只加載一次。

爲什麼它不工作?任何人有類似的情況?

回答

1

我有類似的東西,但它不僅工作一次,它只是每一秒鐘都可以工作。

我現在的解決方法是假的調用,比如:webframe.evaluateJavaScript('return true;')

這迫使失敗(函數返回外),並在下次調用將工作,因爲它應該。

我不知道這個失敗的調用是否會重置引擎或真正發生了什麼。

1

不知道它是否重要,但是在聲明結尾缺少分號?

相關問題