python滚动条_python中selenium操作下拉滚动条的几种方法汇总
UI自动化中经常会遇到元素识别不到,找不到的问题,原因有很多,比如不在iframe里,xpath或id写错了等等;但有一种是在当前显示的页面元素不可见,拖动下拉条后元素就出来了。
比如下面这样一个网页,需要进行拖动下拉条后才能通过selenium找到密码输入框的元素,
在python中有几种方法解决这种问题,简单介绍下,给需要的人:
方法一)使用js脚本直接操作,方法如下:
js="var q=document.getElementById('id').scrollTop=10000"
driver.execute_script(js)
或:
js="var q=document.documentElement.scrollTop=10000"
driver.execute_script(js)
这里的id为滚动条的id,但js中没有xpath的方法,所以滚动条没有id的网页此方法不适用
方法二)使用js脚本拖动到提定地方
target = driver.find_element_by_id("id_keypair")
driver.execute_script("arguments[0].scrollIntoView();", target) #拖动到可见的元素去
这个方法可以将滚动条拖动到需要显示的元素位置,此方法用途比较广,可以使用
方法三)根据页面显示进行变通,发送tab键
在本例中的页面中,密码是输入框,正常手工操作时,可以通过tab键会切换到密码框中,所以根据此思路,在python中也可以发送tab键来切换,使元素显示
from selenium.webdriver.common.keys import Keys
driver.find_element_by_id("id_login_method_0").send_keys(Keys.TAB)
update
前段时间使用robotframe work框架时,selenium2library里面有一个非常好用的功能Focus,会自动定位到元素,研读一下源码:
def focus(self, locator):
"""Sets focus to element identified by `locator`."""
element = self._element_find(locator, True, True)
self._current_browser().execute_script("arguments[0].focus();", element)
从源码中我们可以看到,此方法与我们在python自己写的方法二)一致,工具给我们做了封装。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
python滚动条_python中selenium操作下拉滚动条的几种方法汇总相关推荐
- Java selenium操作下拉滚动条的几种方法
数据采集中,经常遇到动态加载的数据,我们经常使用selenium模拟浏览器操作,需要多次下拉刷新页面才能采集到所有的数据,就此总结了几种selenium操作下拉滚动条的几种方法 我这里演示的是Java ...
- python select模块安装_python+selenium select下拉选择框定位处理方法
一.前言 总结一下python+selenium select下拉选择框定位处理的两种方式,以备后续使用时查询: 二.直接定位(XPath) 使用Firebug找到需要定位到的元素,直接右键复制XPa ...
- java excel 数据有效性_Excel设置数据有效性实现单元格下拉菜单的3种方法
Excel设置数据有效性实现单元格下拉菜单的3种方法 一.直接输入: 1.选择要设置的单元格,譬如A1单元格: 2.选择菜单栏的"数据"→"有效性"→出现&qu ...
- 设置数据有效性实现单元格下拉菜单的3种方法
设置数据有效性实现单元格下拉菜单的3种方法 一.直接输入: 1.选择要设置的单元格,譬如A1单元格: 2.选择菜单栏的"数据"→"有效性"→出现 ...
- 生成下拉框的几种方法总结——数据来源:数据库
下拉框的内容可以来自数据库.枚举.自己在程序中的定义等,我们今天来介绍一下先介绍来自数据库的数据进行下拉列表的实现. 使用场景:客户下拉列表等 1.确保数据库中有相关客户信息数据. 2.获取数据格式( ...
- python爬虫selenium操作下拉框详解
使用python爬虫的selenium操作网页的下拉框. 以该网站为例:https://www.17sucai.com/pins/demo-show?id=5926 该网页下存在多个可供测试的下拉框. ...
- python list删除元素_python中List添加、删除元素的几种方法
原博文 2015-06-21 18:51 − 一.python中List添加元素的几种方法 List 是 Python 中常用的数据类型,它一个有序集合,即其中的元素始终保持着初始时的定义的顺序(除非 ...
- python管道安装包_Python 炫技操作:安装包的八种方法
1. 使用 easy_install easy_install 这应该是最古老的包安装方式了,目前基本没有人使用了.下面是 easy_install 的一些安装示例# 通过包名,从PyPI寻找最新版本 ...
- python 运算符重载_Python 炫技操作:模块重载的五种方法
点击上方"Python编程时光",选择"加为星标"第一时间关注Python技术干货!明哥原创的200页<PyCharm 中文指南> 震撼发布 系列文 ...
最新文章
- 电脑蓝屏原因分析利器
- ASP.NET MVC 入门4、Controller与Action
- 【Pytorch神经网络实战案例】10 搭建深度卷积神经网络
- 微服务精华问答 | 微服务有什么优点和不足呢?
- 15-Scala使用Option、Some、None,避免使用null
- [译文]Domain Driven Design Reference(六)—— 提炼战略设计
- pandavan路由器升级php到7,中兴E8820S改spi刷Pandavan固件作为有线路由
- 【软考】数据库系统工程师备考指南(一)
- 【Qt编程】基于Qt的词典开发系列二--本地词典的设计
- input框隐藏和不可编辑
- Dynamic Memory Tensor Networks笔记
- 如何调用common.js
- 雷林鹏分享:PHP 创建 MySQL 表
- Windows锁屏图片文件存放位置
- Python库资源大全列表
- 识别 零极点 matlab,matlab计算零极点分布图
- Zabbix最新6.2安装及使用!
- c语言求圆的周长和面积
- 基于微信小程序的校园二手商城设计与开发
- iOS刘海机型UI适配(X、Xs、Xs Max、Xr)