上一篇基础篇: 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