1、為什么操作滾動條
- 在HTML頁面中,由于前端技術(shù)框架的原因,頁面中的一些元素為動態(tài)顯示,元素根據(jù)滾動條的下拉而被加載。
- 例如:頁面注冊同意條款,需要滾動條到最底層,才能點擊同意。
2、Selenium如何操作滾動條
Selenium的WebDriver類庫中并沒有直接提供對滾動條進行操作方法,但是Selenium提供了可調(diào)用JavaScript腳本的方法,所以我們可以通過JavaScript腳本來達到操作滾動條的目的。
提示:
- 滾動條:一種可控制程序顯示范圍的組件。
- JavaScript:一種流行腳本語言,可以操作HTML標(biāo)簽。
JavaScript學(xué)習(xí)文檔:http://www.w3school.com.cn/js/js_intro.asp
?
3、Selenium操作滾動條方法
- 設(shè)置JavaScritp腳本控制滾動條js="window.scrollTo(0,1000)(0:水平距離;1000:垂直距離;單位像素px)
- WebDriver調(diào)用JavaScritp腳本方法? ? driver.execute_script(js)
?
提示:
- 最頂層
js="window.scrollTo(0,0)"
- 最底層?
js="window.scrollTo(0,1000)"
注:1000不代表一定到最底層,要根據(jù)瀏覽器頁面的實際大小。
- 直接操作垂直距離的方式
js= "var q=document.documentElement.scrollTop=n
4、練習(xí)
需求:訪問淘寶首頁,在淘寶首頁實現(xiàn)Selenium對滾動條的操作。
腳本代碼:
"""
1.學(xué)習(xí)目標(biāo):
掌握瀏覽器滾動條的操作方法
2.語法
2.1使用js語言編寫控制滾動條代碼
參數(shù):
0,表示水平距離;
10000,表示垂直距離 單位:px
格式:
向下滾動:window.scrollTo(0,10000)
向上滾動:window.scrollTo(0,0)
2.2使用selenium中方法執(zhí)行js代碼
driver.execute_script(js代碼)
3.需求
在頁面中,控制滾動條
4.總結(jié)
如果需要測試寫的js代碼,可以在瀏覽器F12,控制臺console中執(zhí)行查看結(jié)果。
"""
# 1.導(dǎo)入selenium
from selenium import webdriver
from time import sleep
# 2.打開瀏覽器
driver = webdriver.Chrome()
# 3.打開頁面
url = "https://www.taobao.com"
driver.get(url)
sleep(2)
# 4.滾動條操作
# 4.1 滾動條向下滾動
js_down = "window.scrollTo(0,1000)"
# 執(zhí)行向下滾動操作
driver.execute_script(js_down)
sleep(2)
# 4.2 滾動條向上滾動
js_up = "window.scrollTo(0,0)"
driver.execute_script(js_up)
sleep(2)
# 向下滾動操作
# n為從頂部往下移動滾動距離
js1 = "var q=document.documentElement.scrollTop=2000"
driver.execute_script(js1)
sleep(2)
# 5.關(guān)閉瀏覽器
driver.quit()
5、下拉至聚焦元素的位置
聚焦元素:就是把滾動條滾動到你想要查找的元素的位置
步驟:
# 1 定位需要聚焦元素
target = driver.find_element_xx
# 2 js代碼
js = "arguments[0].scrollIntoView()"
# 3 執(zhí)行聚焦元素操作
driver.execute_script(js代碼,元素target)
示例:
頁面代碼片段
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<style type="text/css">
button{padding: 8px; background: #f8f8f8;border-radius: 5px}
button{margin-left:200px;margin-top:2000px}
</style>
</head>
<body>
<button type="submitA" value="注冊A" title="加入會員A" >注冊用戶A</button>
</body>
</html>
腳本代碼:
"""
1.學(xué)習(xí)目標(biāo):
掌握聚焦元素的操作方法
2.語法(操作方法)
2.1 定位需要聚焦元素
target = driver.find_element_xx
2.2 js代碼
js = "arguments[0].scrollIntoView()"
2.3 執(zhí)行聚焦元素操作
driver.execute_script(js代碼,元素target)
3.需求
在頁面中,滾動條下拉聚焦元素位置。
"""
# 1.導(dǎo)入selenium
from selenium import webdriver
from time import sleep
import os
# 2.打開瀏覽器
driver = webdriver.Chrome()
# 3.打開頁面
url = "file:///" + os.path.abspath("./1.html")
driver.get(url)
sleep(2)
# 4.滾動條下拉聚焦元素位置
# 4.1 定位需要聚焦元素-淘寶首頁的END文字
element = driver.find_element_by_css_selector("[type='submitA']")
# 4.2 js代碼
js = "arguments[0].scrollIntoView()"
# 4.3 執(zhí)行聚焦元素操作
driver.execute_script(js, element)
sleep(3)
# 5.關(guān)閉瀏覽器
driver.quit()
最后我這里給你們分享一下我所積累和真理的文檔和學(xué)習(xí)資料有需要是領(lǐng)取就可以了
1、學(xué)習(xí)思路和方法
這個大綱涵蓋了目前市面上企業(yè)百分之99的技術(shù),這個大綱很詳細(xì)的寫了你該學(xué)習(xí)什么內(nèi)容,企業(yè)會用到什么內(nèi)容??偣彩畟€專題足夠你學(xué)習(xí)
?文章來源地址http://www.zghlxwxcb.cn/news/detail-784005.html
2、想學(xué)習(xí)卻無從下手,該如何學(xué)習(xí)?
這里我準(zhǔn)備了對應(yīng)上面的每個知識點的學(xué)習(xí)資料、可以自學(xué)神器,已經(jīng)項目練手。
?
?
3、軟件測試/自動化測試【全家桶裝】學(xué)習(xí)中的工具、安裝包、插件....
?
?
4、有了安裝包和學(xué)習(xí)資料,沒有項目實戰(zhàn)怎么辦,我這里都已經(jīng)準(zhǔn)備好了往下看
?
?
最后送上一句話:
世界的模樣取決于你凝視它的目光,自己的價值取決于你的追求和心態(tài),一切美好的愿望,不在等待中擁有,而是在奮斗中爭取。
如果我的博客對你有幫助、如果你喜歡我的文章內(nèi)容,請 “點贊” “評論” “收藏” 一鍵三連哦
文章來源:http://www.zghlxwxcb.cn/news/detail-784005.html
?
到了這里,關(guān)于Selenium基礎(chǔ) — Selenium操作瀏覽器窗口滾動條的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!