因為最近專案需要,所以接觸到了網頁爬取。
初期接觸的都是一些比較簡單的網頁,通過fiddler抓包分析後,就能模擬進行http請求,進行想要的操作。
後面接觸到一些複雜的網頁,模擬登入一套比較難實現,並且**是加密的,fiddler抓包後根本分析不出來,所以採用了webbrower控制項,直接使用者手動登入,登入後程式再自動完成後續操作。
再後來,遇到有些問題webbrower解決不了(點選按鈕後無正確響應,不知道是iframe的原因還是跨域js的問題),就在**找到了這個。
這個在網上搜尋一下有很多,一些基本操作都有提到,如:獲取ie、開啟指定url、獲取控制項、執行控制項click、執行js等。
但要實現自動化,乙個最重要的就是判斷當前頁面載入完畢,這個網上提及到的比較少,下面是在網上辛苦蒐集的一些方法:
readystate
判斷到readystate==tagreadystate.readystate_complete,則是載入完成。
但是在實際使用過程中有些情況(比如某些頁面的form提交查詢)readystate是不會發生變化的,及狀態一直是complete,所以此種判斷不準確。
statustext
判斷statustext是否包含「完成 」,如果包含則說明頁面載入完成,不包含則未載入完成。
documentcomplete事件
當頁面完成載入的時候都會觸發documentcomplete事件,所以我們可以通過documentcomplete
設定訊號量來實現。
C 引用的實現
當我學習c 引用時,聽到的第一句話是 引用是變數的別名,不像指標一樣需要占用記憶體空間 然而學到深處,發現此話並不完全正確。本文主要介紹我如何通過實驗來了解到c 引用的實現,其實引用的內部就是指標。當然這也於編譯器有關,所以這裡需要提及一下測試所用的編譯器及環境。測試環境是mingw的g 8.1.0...
2016北京賽區網賽C(模擬)
思考 1 別忘了清空陣列等 2 想好了再寫 寫得比較冗餘。其實主要 段就是 int l strlen s for int i 0 i l i else first.clear second.clear maxnum max maxnum,mp s2 first.clear flag1 1 flag2...
c 引用極其底層實現
一 c 中引用的語法是這樣的 int x 100 int x x 它的意思就是是給變數x起了乙個別名,在以後的 中,x其實就是x,這兩個是等價的。舉個例子,在 唐伯虎點秋香 中,唐伯虎叫做華安,又叫做9527,其實這三個名字都是同乙個人,引用就是這個意思。注意事項 引用初始化的時候一定要繫結乙個變數...