专栏首页自动化测试实战《selenium2 python 自动化测试实战》(16)——js操作补充

《selenium2 python 自动化测试实战》(16)——js操作补充

js修改readonly属性

我们看到这里日期框标签中有readonly属性,如果我们直接send_keys就无法输入内容,这时我们需要先去掉readonly属性:

js ='document.getElementById("train_start_date").removeAttribute("readonly")'
driver.execute_script(js)

然后可能需要清空一下文本框,然后用send_keys填入我们想填的内容即可,或者继续用js写入:

js_value = 'document.getElementById("train_start_date").value="2017-12-12"'
driver.execute_script(js_value)

需要注意的是js只有getElementsByClassName,没有

getElementByClassName

去掉“在新页面打开”属性——target=”_blank”

我们点击一个连接时之所以会打开新的页面标签就是因为有这个target="blank"属性,只要我们将这个属性去掉,那么就会在当前页面打开:

js = 'document.getElementsByClassName("mnav")[0].target="";'
driver.execute_script(js)

因为我们用的是getElements,得到的是一个列表,所以我们需要从列表中选出我们要的元素,这就是为什么有[0]的原因。

js直接点击

js还可以执行点击操作:

js = 'document.getElementById("id").click()'
driver.execute_script(js)

js处理横向滚动条

js = window.scrollTo(x, y)

其中x代表横坐标,y代表纵坐标。

js处理内嵌滚动条

# 左移
js = 'document.getElementsByClassName("name")[0].scrollLeft=0'
# 上下移动
js = 'document.getElementsByClassName("name")[0].scrollTop=1000'

这些大家不用刻意去记,说实话最后这个处理内嵌滚动条的我也没用过,我是看别人的,大家只要知道有这个用法,用到的时候去查一下即可。

本文分享自微信公众号 - 自动化测试实战(gh_839e78b6ba28),作者:孟船长

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-12-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 接口测试框架——第四篇

    用户2149234
  • pycharm 2018.1执行flask文件报错解决方法

    最近在写flask代码的时候发现pycharm2018.1版本的debug模式总是无法打开。百度了一圈也没找到解决的方法,网上的进入Edit Configura...

    用户2149234
  • 《selenium2 python 自动化测试实战》(15)——调用js控制滚动条等操作

    用户2149234
  • 批处理/命令行合并js,递归合并子目录js文件

    用户1258909
  • RequireJS实例分析

      随着JS越来越庞大,已经不仅仅是以前复制粘贴做特效的时代了,JS越来越偏向于业务逻辑与应用。恰逢Node的流行,JS在web开发中占有越来越重要的地位。由...

    用户1154259
  • JavaScript常用对象&属性&事件-图标

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

    奋飛
  • smartClient 1--框架介绍

        快速构建 大型企业应用开发(无需过多关注UI),适合基于云技术的应用,主要关注业务的发展和营销,加快开发进程

    用户1148399
  • 对于零基础同学来讲,javascript有多难掌握?

    你是零基础,那么你用什么方式,可以快速的实现js的运用自如呢? Javascript是一门脚本语言,它没有复杂的内存管理,只有一个进程,变量随便什么都可以储存...

    web前端教室
  • smartClient 1--框架介绍

    一、是什么(以下简称SC)     smartClient 是一个基于web技术的开发框架,主要包括: 一个无需安装的 Ajax/HTML5 客户端引擎 UI组...

    用户1148399
  • 前端缓存

    https://juejin.im/post/5a098b5bf265da431a42b227

    城市中的游牧民族

扫码关注云+社区

领取腾讯云代金券