Selenium中JS处理滚动条

一、JS处理滚动条问题

1、滚动条回到顶部:

js="var q=document.getElementById('id').scrollTop=0"

driver.execute_script(js)

或者

js="var q=document.documentElement.scrollTop=0"

driver.execute_script(js)

2、滚动条拉到底部:

js="var q=document.getElementById('id').scrollTop=10000"

driver.execute_script(js)

或者

js="var q=document.documentElement.scrollTop=10000"

driver.execute_script(js)

3、滚动条拉到指定位置(具体元素):

target = driver.find_element_by_id("id_keypair")

driver.execute_script("arguments[0].scrollIntoView();", target)

4、通过模拟键盘DOWN(↓)来拖动:

driver.find_element_by_id("id").send_keys(Keys.DOWN)

5、scrollTo函数

--scrollHeight 获取对象的滚动高度。 

--scrollLeft 设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离。 

--scrollTop 设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离。 

--scrollWidth 获取对象的滚动宽度。

 

#滚动到底部

js = "window.scrollTo(0,document.body.scrollHeight)"

driver.execute_script(js)

#滚动到顶部

js = "window.scrollTo(0,0)"

driver.execute_script(js)

二、参考代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File    : jss.py
# @Software: PyCharm
from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
url = 'http://www.cnblogs.com/sanzangTst/'
browser = webdriver.Firefox()
browser.get(url)
time.sleep(3)
# 拉到底部
js="var q=document.documentElement.scrollTop=10000"
browser.execute_script(js)

# 回到顶部
js="var q=document.documentElement.scrollTop=0"
browser.execute_script(js)

# 拖到指定位置
target = browser.find_element_by_id("homepage1_HomePageDays_DaysList_ctl05_DayList_TitleUrl_0")
browser.execute_script("arguments[0].scrollIntoView();", target)

#滚动到底部
js = "window.scrollTo(0,document.body.scrollHeight)"
browser.execute_script(js)

#滚动到顶部
js = "window.scrollTo(0,0)"
browser.execute_script(js)

 

发布了7 篇原创文章 · 获赞 0 · 访问量 165

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览