前面的文章陆续介绍selenium的基本元素操作,本文将继续介绍余下的元素操作方法。
1、文件上传
文件上传是处理自动化测试中经常遇到的问题,一般有两种方法可以解决
send_keys上传:通过input标签实现的上传功能,可以将它当做一个输入框,通过send_keys指定上传路径
driver.find_element_by_id("value").send_keys("C:\\uploadfile.csv")
Autolt上传:Autolt是用与Windows GUI的自动化测试工具,类似于BASIC脚本语言。
下载地址:https://www.autoitscript.com/site/
使用方法:
1.打开工具Autolt Windows Info,点击Finder Tool,拖动到要识别的控件上,可以得到对应信息
2.根据Autolt Windows Info得到的信息,打开SciTE Script Editor编辑器编写脚本
3.保存脚本,打开Compile Script to.exe工具将脚本转换成exe可执行文件,python程序可以调用可执行文件
2、文件下载
文件下载会对浏览器做一些基本设置;
指定下载路径:fp.set_preference("browser.download.folderList",2)
设置是否显示开始:fp.set_preference("browser.download.manager.showWhenStarting",False)
设置下载文件目录:fp.set_preference("browser.download.dir",os.getcwd())
设置文件下载类型:fp.set_preference("browser.helperApps.nerverAsk.saveToDisk","application/octet-stream")
也可以做浏览器中进行设置,直接调用webdriver,进行下载操作
3、调用js
一些无法操作的元素,可以借助js来进行操作,webdriver提供了方法,对js进行操作.
调整滚动条:js = "window.scrollTo(300,500)"
driver.execute_script(js)
输入框处理:text = "test"
js = "document.getElementById('id').value='" + text + "'"
driver.execute_script(js)
4、窗口截图
截取当前窗口并保存图片:
driver.get_screenshot_as_file("C:\\test.jpg")
5、关闭窗口
关闭窗口所有窗口,退出驱动程序:driver.quit()
关闭当前窗口:driver.close()
6、Cookie处理
获取Cookie:driver.get_cookies()
添加Cookie:driver.add_cookie({'key':'value'})
删除Cookie:driver.cookie(name,potionsString)
删除所有Cookie:driver.delete_all_cookies()
7、验证码处理
设置万能验证码:可以请开发设置万能验证码,绕过验证码操作
识别验证码:通过Python-tesseract识别图形验证码
记录cookie:记录登录cookie,通过add_cookie()方法将记录的cookie写入浏览器,绕过登录
到此selenium对页面元素操作的简单方法基本都已提及,selenium自动化学习已经跃进一大步,具体的实现方法需要在实际项目中实践积累。
领取专属 10元无门槛券
私享最新 技术干货