selenium之 浏览器导航栏的三个按钮(back、forward、refresh)
来源:互联网 发布:上古卷轴5男捏脸数据 编辑:程序博客网 时间:2024/06/09 19:36
今天这几个方法非常简单,就是我们能看到的浏览器导航栏的三个按钮:后退、前进、刷新
driver.back()
driver.forward()
driver.refresh()
不多说,上代码试试
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
结果:
明显能够看到浏览器的后退、前进与刷新的动作。
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
那么什么时候会用呢?
一种情况就是,当你从一个父页面跳转到子页面进行操作,操作完之后没有“返回”之类的按钮或链接,重新进入父页面又很麻烦,back()可以帮你。forward()与此类似,相对没有back()那么常用。
当你修改了页面信息但是没有即时刷新时,可以手动refresh()。
不过需要注意:
当你前进并退回原来的页面或刷新页面之后,页面的元素id是改变了的。不要妄图用原来定位好的WebElement去操作现在的页面元素!否则会出现如下报错:
selenium.common.exceptions.StaleElementReferenceException: Message: Element not found in the cache - perhaps the page has changed since it was looked up
代码示例下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
来看看输出结果:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
能看到两次输出的WebElement是完全不同的,还用原来的元素去操作当然是不行的:
所以在有可能有页面刷新的时候,不要用这种获取到元素,然后一直操作这个元素的写法;要在刷新之后重新获取一下元素进行操作。
0 0
- selenium之 浏览器导航栏的三个按钮(back、forward、refresh)
- selenium之 浏览器导航栏的三个按钮(back、forward、refresh)
- 将导航栏的二级菜单的back按钮替换
- iOS开发笔记:导航栏里的"Back"按钮显示不出来
- 修改导航栏上返回按钮上的字,例如把back修改为返回
- iOS 修改导航栏上返回按钮上的文字,例如把 back 修改为 返回
- 使用js,Jquery 禁用浏览器的back 和 next 按钮:
- 自定义返回按钮的侧滑返回滑动时导航栏出现三个横排的小蓝点
- 导航栏之自定义按钮
- IntelliJ IDEA 13的back/forward
- iO设置导航栏back
- python+selenium 自动化之启动浏览器加载浏览器的插件
- iOS隐藏导航栏返回上一界面的back
- 重写dialog的back按钮
- Android 4.0 隐藏虚拟导航按钮(Back,Home等)
- SystemUI导航键显示隐藏某个按钮(Recent Home Back)
- iOS 7 navigation bar custom back button without title ===自定义导航栏返回按钮
- iOS 7 navigation bar custom back button without title ===自定义导航栏返回按钮
- 数据结构-C++实现(二):单向链表
- [Unity基础]移动平台下的文件读写
- [Android N]MediaRecorder系列之StagefrightRecorder录制TS流flow(四)
- Uncaught TypeError: XX is not a function at HTMLInputElement.onclick
- linux命令
- selenium之 浏览器导航栏的三个按钮(back、forward、refresh)
- RunLoop总结:RunLoop基础知识
- 一个非常棒的图片 演示 iptables 与 linux的input或者nat
- 【51Nod 1201】 整数划分
- 简历里列写的一些专业技能
- 关于.NET编译的目标平台(AnyCPU,x86,x64)
- selenium之 时间日期控件的处理
- mysql数据库允许远程访问
- 练习--实现双向链表