在瀏覽web網(wǎng)站時,經(jīng)常需要進(jìn)行滑動頁面的操作。在selenium中,我們可以通過execute_script執(zhí)行js語句實(shí)現(xiàn)頁面滑動。
可以分為四種滑動的場景:滑動至底部、滑動至頂部、滑動至具體位置、滑動至目標(biāo)元素可見
以百度搜索為例:文章來源:http://www.zghlxwxcb.cn/news/detail-521989.html
一、滑動至頂部
輸入搜索內(nèi)容后,點(diǎn)擊百度一下,滑動頁面至底部文章來源地址http://www.zghlxwxcb.cn/news/detail-521989.html
from selenium import webdriver
import time
from selenium.webdriver.support.wait import WebDriverWait
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
# 等待元素出現(xiàn),再執(zhí)行操作
WebDriverWait(driver, 20).until(lambda driver:driver.find_element('id', 'kw')).send_keys('selenium')
WebDriverWait(driver, 20).until(lambda driver:driver.find_element('id', 'su')).click()
time.sleep(2)
# 模擬鼠標(biāo)滾輪,滑動至頁面底部
js = "window.scrollTo(0, document.body.scrollHeight)"
driver.execute_script(js)
二、滑動至頂部
time.sleep(2)
# 模擬鼠標(biāo)滑動到頂部
js = "window.scrollTo(0,0)"
driver.execute_script(js)
三、滑動到具體位置
time.sleep(1)
js = "window.scrollTo(0, 500)" # 向下滑動500個像素
driver.execute_script(js)
time.sleep(1)
js = "window.scrollTo(0, -500)" # 向上滑動500個像素
driver.execute_script(js)
js = "window.scrollTo(500, 0)" # 向右滑動500個像素
js = "window.scrollTo(-500, 0)" # 向左滑動500個像素
四、滑動至目標(biāo)元素可見
# 目標(biāo)元素
ele = driver.find_element('xpath', '/html/body/div[1]/div[2]/div[6]/div/div/div[2]/div/div[1]/div/div[2]/div[3]/div[1]/div/a')
# 向下滾動至目標(biāo)元素可見
js = "arguments[0].scrollIntoView();"
driver.execute_script(js, ele)
# 向上滾動至目標(biāo)元素可見
js = "arguments[0].scrollIntoView(false);"
driver.execute_script(js, ele)
到了這里,關(guān)于selenium之滾動鼠標(biāo)滑動頁面的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!