其實只要是用多了selenium+webdriver這套東西的人,滾動條很多時候都少用,只要你第一次打開頁面能加載出來的元素,就能操作,html中是有的,比如吧,一個按鈕沒有顯示在窗口中,但是這個按鈕是在html中存在的,就能操作。當然也有個別情況:
1.操作的時候元素重疊了,會點擊不到而報錯,一般會在窗口縮小或者彈窗需要等待Ns才消失的情況;
2.就是第一次頁面沒有加載出來的,需要滾動到相應位置才能定位到。
一、selenium的操作滾動條方式
肯定都是使用js操作啦,操作瀏覽器本身的,10000的值動態的,0為最上,想滑動到什么位置填寫數字去調試;
js="var q=document.documentElement.scrollTop=10000"
driver.execute_script(js)
內嵌的滾動條,定位到再滾,不對是滾動,滾好像太粗魯了
js="var q=document.getElementByIdx_x('id').scrollTop=10000"
driver.execute_script(js)
二、robotframework
RF框架是不是一樣用js呢?大家可以去嘗試,反正我是各種嘗試了,在google上也有各種版本,包括
1."Execute Javascript document.getElementByIdx_x('id').scrollTop=10000"
2."Execute Javascript var q=document.getElementByIdx_x('id').scrollTop=10000"
3."Execute Javascript js="var q=document.getElementByIdx_x('id').scrollTop=10000""
總之各種版本都試過了,然並卵,沒一個行的。不過還好提供了一個Focus關鍵字,可以通過這個關鍵字定位到某個元素再操作
比如:Focus id=passwd
又來但是了,這個元素的locator不顯示咋搞,通過大海撈針總算找到了
window.scrollBy(0, document.body.scrollHeight)
window.scrollTo(0, document.body.scrollHeight)
兩種都可以啊,document.body.scrollHeight表示滑到最底部,如果要滑到什么位置,通過填寫值來調試,比如
"Execute Javascript window.scrollTo(0, 50)"
三、使用模擬鍵盤操作down鍵
