程式設計實現控制網頁滾動條

2021-07-14 13:33:45 字數 1075 閱讀 4798

控制網頁滾動條滾動可以通過按壓鍵盤上的上下按鈕鍵和滑動滑鼠的滑輪,當然也可以通過**來實現滾動條上下滾動。滾動條的控制主要由頁面的根節點元素來控制,獲取到了根節點就可以完全隨心所欲的控制滾動條了。

獲取控制滾動條的頁面根節點元素

ccomptrbrowser::domelemget(ccomptrm_ptrhtmldomcurrent)

hr = pihtml3docm->get_documentelement(&pihtmlelem);

if (failed(hr))

hr = pihtmlelem->queryinte***ce(&ptrhtmlelem2);

if (failed(hr))

return ptrhtmlelem2;

}上述函式把獲取到的根節點元素返回,然後利用改元素就可以對滾動條進行控制了。

獲取滾動條範圍htmlelement2::get_scrollheight-ihtmlelement2::get_clienttop-ihtmlelement2::lclientheight

三者關係如圖:

下面介紹三種控制滾動條方法:

1.直接呼叫元素設定滾動條位置

htmlelement2::put_onscroll設定滾動條位置

2.傳送鍵盤上的上下方向鍵訊息

sendmessage(m_hcurrentwnd, wm_keydown, vk_down, 1);模擬鍵盤方向下鍵按鈕按下wm_keydown按下,vk_down方向下健(vk_up方向上鍵)

sendmessage(m_hcurrentwnd, wm_keyup, vk_down, 0xc0000001);模擬鍵盤方向下鍵按鈕鬆開 wm_keyup鬆開

3.直接傳送控制滑輪的訊息

sendmessage(m_hcurrentwnd, wm_vscroll, sb_linedown, 0);滾動條往上滾動

sendmessage(m_hcurrentwnd, wm_vscroll, sb_lineup, 0);滾動條往下

控制 滾動條

怎麼給其它program傳送message 主要是想控制其它program的水平滾動條 但是其它program的滾動條視窗控制代碼未知.謝謝 findwindow sendmessage findwindow sendmessage 這樣try.用sendmessage給視窗發wm hscrollm...

python橫向滾動條 控制滾動條

調過js指令碼控制 python 1.coding utf 8 2.from selenium import webdriver 3.import time 5.driver webdriver.firefox 6.driver.get 7.搜尋 8.driver.find element by i...

利用Selenium控制網頁內嵌滾動條

那麼該如何控制該內嵌滾動條的行為呢?我們的主要思路是 先找到滾動條,再利用selenium中的命令 actionchains browser drag and drop by offset element,xoffset,yoffset perform 找到元素element,設定好裡面的xoffs...