2013-07-15 42 views
1

我正在嘗試編寫一個瀏覽器遊戲的自動化工具,該瀏覽器遊戲需要從網頁中獲取一些數據,在這種情況下,數據似乎是在頁面加載後使用JS添加的,我認爲這是我的問題是。WebBrowser源過時

我試圖抓住JS添加的文本並將其保存到變量,但是當我嘗試使用WebBrowser組件的DOM控件找到它時,它找不到我需要的文本。文本在那裏,你可以在瀏覽器窗口中看到它,並且當我使用Chrome的開發控制檯/檢查元素工具時,可以很容易地找到源代碼,當我使用DOM控件定位它時,VS明確指出它找不到它。我100%肯定我的目標是正確的,而我並沒有把它指向錯誤的方向。

有沒有一種WebBrowser刷新/重新讀取源而不刷新頁面的方法?否則,你會如何解決這個問題?

乾杯, 湯姆。

+0

查看源代碼和Chrome開發工具不看同一件事情。查看源是從服務器發送的內容。 dev conosle查看當前的DOM。所以如果JavaScript改變了頁面,它將在DOM源中更新,但不會在View Source中更新。如果您正在自動化頁面,您可能需要查看Selenium。 – epascarello

+0

我會在JavaScript中編寫代碼並將其作爲瀏覽器插件或greasemonkey腳本運行。這也已經得到解答。 http://stackoverflow.com/a/9874628/884862 –

+0

對不起,我沒有看到這個重複的問題。但是,如果我嘗試通過WebBrowser組件使用JS腳本,它會工作嗎? (我認爲這是可能的) –

回答

0

一個解決辦法可以解決這個問題,即當使用MS Office文檔映像創建文本。如果文本總是出現在頁面上的特定位置,那麼應該只是在文本出現的地方打印屏幕,然後將其運行到OCR的思路。這樣做的好處是可以證明未來,遊戲可以改變他們顯示文本的方法,但只要它顯示出來,你就可以打印屏幕了。 :)