Selenium3+python3自动化(十九)--js处理内嵌div滚动条

前言

前面介绍过js解决浏览器滚动条的问题,生活总是多姿多彩,有的滚动条就在页面上,这时候就得使用js了

一、内嵌滚动条

1.下面这张图就是内嵌div带有滚动条的样子

 2.页面源码如下:


 





玉不琢、不成器,人不学、不知道

这是一个内嵌的div滚动条

这是一个内嵌div:民国年间,九大家族镇守长沙,被称为“九门提督”。这九门势力庞大,外八行的无人不知,无人不晓,几乎所有冥器,流出长沙必然经过其中一家。 1933年秋,一辆神秘鬼车缓缓驶入长沙火车站,九门之首“张大佛爷”张启山身为布防官,奉命调查始末。张启山与八爷齐铁嘴一路探访,发现长沙城外有一座疑点重重的矿山,一直被日本人窥伺。 为破解矿山之谜,张启山求助同为九门上三门的戏曲名伶二月红,无奈二月红虽出身考古世家,却心系重病的妻子丫头,早已金盆洗手。张启山为了国家大义和手足之情,北上去往新月饭店为二月红爱妻求药。在北平,张启山邂逅了新月饭店的大小姐尹新月,并为尹新月连点三盏天灯,散尽家财。尹新月帮助张启山等人顺利返回长沙,二人暗生情愫。二月红爱妻病入膏肓,服药后不见好转,最终故去。 二月红悲伤之余却意外发现家族祖辈与矿山亦有重大关联,于是振作精神,决定与张启山联手,解开矿山之谜zhegedancihenchanghenchangchangchangchangchanchanchanchangchangchangchancg   

 二、纵向滚动 scrollTop

1.这个是div的属性:id="test" name="xiahua" class="scroll">

2.这里最简单的通过id来定位,使用的是element,返回一个对象,通过控制scrollTop的值来控制滚动条高度

3.运行下面代码,观察页面是不是先滚动到底部,过5s再回到顶部

4.通过name属性定位,使用的是elements,返回的是一个list对象,这里取第一个就可以了。

# coding:utf-8
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.get("file:///C:/Users/Administrator/Desktop/1.html")
#纵向底部
js1='document.getElementById("test").scrollTop=10000'
driver.execute_script(js1)
time.sleep(5)
#纵向顶部
js2='document.getElementsByName("xiahua")[0].scrollTop=0'
driver.execute_script(js2)  

 三、横向滚动 scrollLeft

1.先通过id来定位,通过控制scrollLeft来控制滚动条高度

# coding:utf-8
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.get("file:///C:/Users/Administrator/Desktop/1.html")
#横向右侧
js='document.getElementById("test").scrollLeft=10000'
driver.execute_script(js)
time.sleep(5)
#横向左侧
js='document.getElementsByClassName("scroll")[0].scrollLeft=0'
driver.execute_script(js)
# #纵向底部
# js1='document.getElementById("test").scrollTop=10000'
# driver.execute_script(js1)
# time.sleep(5)
# #纵向顶部
# js2='document.getElementsByName("xiahua")[0].scrollTop=0'
# driver.execute_script(js2)

  备注:js的定位语法与webdriver的八种定位语法很相似

目前我已知的js的定位语法如下:

getElementById() #单数,一个对象

getElementsByName() #复数,对象list

getElementsByClassName()

getElementsByTagName()


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部