selenium
selenium是一个用于web应用程序自动化测试工具。三剑客含WebDriver,IDE和Grip
Selenium WebDriver是一个客户端 API。
- 通过调用接口来访问浏览器驱动,浏览器驱动再访问浏览器
- 通过Selenium Server或者RemoteWebDriver实现远程通信,RemoteWebDriver和驱动程序和浏览器在一个系统里运行
- 通过Selenium Server或者Selenium Grid进行分布式测试
webdriver运行原理:每发一个se脚本,一个hppt协议就会被创建出来并发送给浏览器驱动,这个驱动包含了一个http server,会用来接收请求,接到请求后发送给浏览器,浏览器执行步骤,浏览器执行完步骤之后会返回一个结果给到http server,http server再将结果返回给se脚本
webdriver里的浏览器驱动只有一个,为什么既可以接收java请求,也可以接收 python 的请求? 答:webdriver里有一个公共的协议,Json Wire Protocol,它们之间遵循的是一种协议,类似于是一个封装好的http协议,就是在http协议之上封装了一层公共的协议,传输的格式也是json
WebDriver常用属性
WebDriver常用方法
WebElement常用属性
获取本地文件的目录
selenium操作表单中chackbox和radio
- chackbox要注意判断如果未选中则选中 checkbox = self.driver.find_element(by=By.NAME,value='checkbox') if not checkbox.is_selected(): checkbox.click()
- radio要注意获取到的元素是负数,用下标去点击 lst = self.driver.find_elements(by=By.NAME,value='gender') lst[0].click()
selenium操作下拉列表 1.selenium提供了一个Select工具类,Select工具类常用方法
PyAutoGUI是一个图形用户界面自动化工具,通过屏幕xy坐标系统确定目标位置,控制鼠标和键盘发送虚拟击键和鼠标点击,完成点击按钮、填写表单等操作(常规方法元素无法获取时使用)