您现在的位置是:首页 > Javascript
当前栏目
Selenium提高:JS操作和cookie处理
2023-03-15 22:04:37 时间
上一篇基础篇: https://blog.csdn.net/weixin_43582101/article/details/90082023
还是以百度为例。
调用JavaScript:
执行JS一般由两种场景:
- 一种是在页面上直接执行JS
- 另一种是在某个已经定位的元素上执行JS
隐藏百度一下按钮:
弹出新窗口的情况:
在编写自动化程序的时候,会遇到弹出新窗口的情况,而程序总是默认在第一个窗口页定位元素,这样,就会定位不到元素,程序报错。
在百度登录这里,如果点击立即注册,会重新打开一个新的页面。因为在 a标签 的 target 属性规定了浏览器将打开一个新的窗口。
所以我们不想弹出新窗口,就需要先删除target属性。
先给新闻加上跳转新页面的属性。再删除掉。
控制浏览器滚动条:
百度滚动条:
Cookie处理
添加一个cookie:遍历所有cookie
输出结果:
获取对象的属性:
验证码问题:
对于web应用来说,大部分的系统在用户登录时都要求用户输入验证码,验证码的类型有很多。有字母数字,汉字,算术题,或者滑块,语音等等。对于测试人员来说,不管是进行性能测试还是自动化测试都是很棘手的问题。下面简单说一些处理验证码的方式。
验证码识别技术:
- 可以通过 python-tesseract 来识别验证码。Python-tesseract是python的光学字符识别(OCR)工具。也就是说,它将识别并“读取”嵌入图像中的文本。然而目前任何一种验证码识别技术,准确率都不是100%。
记录cookie:
- 通过向浏览器添加cookie可以绕过登录的验证码,这是很有趣的一种解决方案。我们可以在用户登录前,通过 add_cookie() 的方式,将用户名密码写入浏览器cookie,再次访问登录系统链接将自动登录。
使用cookie进行登录的难点,是如何获得用户名和密码的name,如果找不到name,就没办法继续操作。可以通过get_cookies()来获取登录的cookie信息。
滑块模拟拖动:
- 可使用之前说的操作鼠标事件的方法,actionchines来进行滑块拖动操作,这个不详细说了,可以看我关于滑块的文章 https://blog.csdn.net/weixin_43582101/article/details/89737915
Webdriver原理:
相关文章
- TiDB Binlog 组件正式开源
- 使用Visual Studio Code对Node.js进行断点调试
- 推荐!数据可视化的十种优秀JavaScript图表库
- Node.js在复杂集成场景下占据统治地位的五个理由
- 玩转Node.js单元测试
- Node.js中内存泄漏分析
- Angular对React:一场关于Web开发者支持率的史诗对决
- 热点推荐:什么是后端开发?
- 谈谈Spring boot 启动层面的开发
- 使用NodeJS将文件或图像上传到服务器
- 编写React组件的最佳实践
- JavaScript MV*框架最值得关注的七个亮点
- 前端开发指南:如何利用PHP Cake框架构建应用
- 基于React与Vue后,移动开源项目Weex如何定义未来
- NodeJS和C++之间的类型转换
- jQuery中的常用到的三十九个技巧
- 官宣|Google Developers中国网站发布!
- NodeJS和C++之间的类型转换
- .NET Core首例Office开源跨平台组件(NPOI Core)
- 如何写出漂亮的React组件