RobotFramework操作瀏覽器滾動條


RobotFramework操作瀏覽器滾動條

  (2016-12-21 11:52:43)
標簽: 

selenium

 

it

分類: 自動化測試

其實只要是用多了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鍵


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM