轻松自动化---selenium-webdriver(python) (十一)

简介:

本节重点:

  •   控制滚动条到底部

 

有时候我们需要控制页面滚动条上的滚动条,但滚动条并非页面上的元素,这个时候就需要借助js是来进行操作。一般用到操作滚动条的会两个场景:

  • 注册时的法律条文需要阅读,判断用户是否阅读的标准是:滚动条是否拉到最下方。
  • 要操作的页面元素不在吸视范围,无法进行操作,需要拖动滚动条

 

其实,实现这个功能只要一行代码,但由于不懂js ,所以花了不小力气找到这种方法。

 

用于标识滚动条位置的代码



<body   onload= "document.body.scrollTop=0 ">
<body   onload= "document.body.scrollTop=100000 ">

如果滚动条在最上方的话,scrollTop=0 ,那么要想使用滚动条在最可下方,可以scrollTop=100000 ,这样就可以使滚动条在最下方。

 

 

场景一

先来解决场第一个问题,法律条款是一个内嵌窗口,通过firebug工具可以定位到内嵌入窗口可以定位到元素的id ,可以通过下面的代码实现。



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

注:由于没找到合适的例子,所没验证,从参考资料来看这种写法应该没问题,如有请反馈。

 

 

场景二

有滚动条的页面到处可见,这个就比较容易找例子,我们以操作百度搜索结果页为例:

#coding=utf-8
from selenium import webdriver
import time

#访问百度
driver=webdriver.Firefox()
driver.get("http://www.baidu.com")

#搜索
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
time.sleep(3)

#将页面滚动条拖到底部
js="var q=document.documentElement.scrollTop=10000"
driver.execute_script(js)
time.sleep(3)


#将滚动条移动到页面的顶部
js="var q=document.documentElement.scrollTop=0"
driver.execute_script(js)
time.sleep(3)

driver.quit()

目录
相关文章
|
5月前
|
Web App开发 测试技术 持续交付
探索自动化测试:以Selenium和Python为例
【8月更文挑战第31天】自动化测试在现代软件开发中扮演着不可或缺的角色。本文将通过一个简化的示例,展示如何使用Selenium和Python进行Web应用的自动化测试。我们将从安装必要的工具开始,逐步构建一个简单的测试脚本,并执行它来验证其功能。通过这个过程,我们旨在揭示自动化测试的价值,并激励读者深入探索这一领域。
|
8月前
|
前端开发 Java 测试技术
selenium+python自动化测试--登录
selenium+python自动化测试--登录
157 2
|
8月前
|
Web App开发 人工智能 Java
Python Selenium实现自动化测试及Chrome驱动使用
Python Selenium实现自动化测试及Chrome驱动使用
250 2
|
数据安全/隐私保护 Python
|
Java 测试技术 Python
Selenium2+python自动化51-unittest简介
前言 熟悉java的应该都清楚常见的单元测试框架Junit和TestNG,这个招聘的需求上也是经常见到的。python里面也有单元测试框架-unittest,相当于是一个python版的junit。 python里面的单元测试框架除了unittest,还有一个pytest框架,这个用的比较少,后面有空再继续分享。
1358 0
|
Web App开发 Python
Selenium2+python自动化18-加载Firefox配置
前言 有小伙伴在用脚本启动浏览器时候发现原来下载的插件不见了,无法用firebug在打开的页面上继续定位页面元素,调试起来不方便 。 加载浏览器配置,需要用FirefoxProfile(profile_directory)这个类来加载, profile_directory既为浏览器配置文件的路径地址   一、遇到问题 1.在使用脚本打开浏览器时候,发现右上角原来下载的插件firebug不见了,到底去哪了呢? 2.用脚本去打开浏览器时候,其实是重新打开了一个进程,跟手动打开浏览器不是一个进程。
1388 0
|
Web App开发 测试技术 数据安全/隐私保护
Selenium2+python自动化10-登录案例
前言     前面几篇都是讲一些基础的定位方法,没具体的案例,小伙伴看起来比较枯燥,有不少小伙伴给小编提建议以后多出一些具体的案例。本篇就是拿部落论坛作为测试项目,写一个简单的登录测试脚本。 在写登录脚本的时候呢,先要保证流程能跑起来,然后才是去想办法优化代码,让自己的脚本看起来更舒服,具有良好的可读性。
1219 0