selenium元素操作(三)

前面的文章陆续介绍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自动化学习已经跃进一大步,具体的实现方法需要在实际项目中实践积累。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180803G0TD0V00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动