首页
学习
活动
专区
圈层
工具
发布
20 篇文章
1
船长带你看书——《selenium2 python 自动化测试实战》(1)
2
船长带你看书——《selenium2 python 自动化测试实战》(2)
3
《selenium2 python 自动化测试实战》(3)——操作测试对象
4
《selenium2 python 自动化测试实战》(4)——鼠标事件
5
《selenium2 python 自动化测试实战》(5)——键盘事件
6
《selenium2 python 自动化测试实战》(6)——打印信息和设置等待时间
7
《selenium2 python 自动化测试实战》(7)——定位一组对象
8
《selenium2 python 自动化测试实战》(8)——定位iframe
9
《selenium2 python 自动化测试实战》(9)——切换窗口
10
《selenium2 python 自动化测试实战》(10)——下拉框和alert
11
《selenium2 python 自动化测试实战》(11)——selenium安装版本
12
《selenium2 python 自动化测试实战》(12)——跳过验证码登录add_cookie
13
《selenium2 python 自动化测试实战》(13)——上传文件
14
《selenium2 python 自动化测试实战》(14)——下载文件
15
《selenium2 python 自动化测试实战》(16)——js操作补充
16
《selenium2 python 自动化测试实战》(17)——几个cookies操作
17
《selenium2 python 自动化测试实战》(18)——自动化测试模型(一)
18
《selenium2 python 自动化测试实战》(18)——webdriver错误截图
19
《selenium2 python 自动化测试实战》(19)——Selenium工具介绍
20
《selenium2 python 自动化测试实战》(20)——unittest单元测试框架解析

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

js修改readonly属性

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

代码语言:javascript
代码运行次数:0
复制
js ='document.getElementById("train_start_date").removeAttribute("readonly")'
driver.execute_script(js)

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

代码语言:javascript
代码运行次数:0
复制
js_value = 'document.getElementById("train_start_date").value="2017-12-12"'
driver.execute_script(js_value)

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

getElementByClassName

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

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

代码语言:javascript
代码运行次数:0
复制
js = 'document.getElementsByClassName("mnav")[0].target="";'
driver.execute_script(js)

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

js直接点击

js还可以执行点击操作:

代码语言:javascript
代码运行次数:0
复制
js = 'document.getElementById("id").click()'
driver.execute_script(js)

js处理横向滚动条

代码语言:javascript
代码运行次数:0
复制
js = window.scrollTo(x, y)

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

js处理内嵌滚动条

代码语言:javascript
代码运行次数:0
复制
# 左移
js = 'document.getElementsByClassName("name")[0].scrollLeft=0'
# 上下移动
js = 'document.getElementsByClassName("name")[0].scrollTop=1000'

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

下一篇
举报
领券