selenium API(二)
1.单选框
<form><input type="radio" name="sex" value="male">Male<br><input type="radio" name="sex" value="female">Female </form>
element = driver.find_element_by_name() element.click()#判断是否被选择element.is_selected()
2.复选框
<input type="checkbox" value="cv1" name="c1">A <input type="checkbox" value="cv2" name="c2">B <input type="checkbox" value="cv3" name="c3">C <input type="checkbox" value="cv4" name="c4">D
3.截取屏幕
driver.get_screenshot_as_file(r"e:\screenPicture.png")
4.拖拽元素
from selenium.webdriver import ActionChains import time ''' 创建一个新的ActionChains,将webdriver实例对象driver作为参数值传入 然后通过WebDriver实例执行用户动作。 ''' action_chains = ActionChains(self.driver) # 将页面上第一个能被拖拽的元素拖拽到第二个元素位置 action_chains.drag_and_drop(element1,element2).perform()
5.win32模拟键盘操作
# coding:utf-8 from selenium import webdriver # 导入模拟组合按键需要的包 import win32api import win32con import time#键盘键按下 def keyDown(keyName):win32api.keybd_event(VK_CODE[keyName], 0, 0, 0) #键盘键抬起 def keyUp(keyName):win32api.keybd_event(VK_CODE[keyName], 0, win32con.KEYEVENTF_KEYUP, 0)VK_CODE = {'enter': 0x0D,'ctrl': 0x11,'a': 0x41,'v': 0x56,'x': 0x58 }driver = webdriver.Chrome(executable_path="e:\driver\chromedriver") url = "http://www.sogou.com" driver.get(url) searchBox = self.driver.find_element_by_id("query") #将焦点切换到搜索输入框中 searchBox.click() searchBox.send_keys("selenium") #稍微等待几秒,防止太快串命令 time.sleep(3) #模拟Ctrl + a,选中输入框中所有的内容 keyDown('ctrl') keyDown('a') #释放Ctrl + a组合键 keyUp('a') keyUp('ctrl') #模拟Ctrl + x剪切所选中的内容 keyDown('ctrl') keyDown('x') keyUp('x') keyUp('ctrl') driver.get("http://www.baidu.com") #将焦点切换到搜索输入框中 driver.find_element_by_id("kw").click() #模拟Ctrl + v组合键,进行粘贴 keyDown("ctrl") keyDown("v") keyUp('v') keyUp('ctrl') #模拟回车键 keyDown('enter') keyUp('enter') time.sleep(5)driver.quit()
6.设置剪切板内容
# coding:utf-8 from selenium import webdriver import win32clipboard as w import win32con# 设置剪切板内容 def setText(aString):w.OpenClipboard()w.EmptyClipboard()w.SetClipboardData(win32con.CF_UNICODETEXT, aString)w.CloseClipboard()driver = webdriver.Chrome(executable_path="e:\driver\chromedriver") url = "http://www.sogou.com" driver.get(url) # 找到搜索输入框 searchBox = self.driver.find_element_by_id("query") # 将焦点切换到搜索输入框 searchBox.click() time.sleep(2) # 在搜索输入框上执行一个鼠标右键点击操作 ActionChains(self.driver).context_click(searchBox).perform() # 将“gloryroad”数据设置到剪切板中,相当于执行了复制操作 setText('selenium') # 发送一个粘贴命令,字符p指代粘贴操作 ActionChains(self.driver).send_keys('P').perform() # 点击搜索按钮 self.driver.find_element_by_id('stb').click() time.sleep(2) driver.quit()
转载于:https://www.cnblogs.com/SneakingSled/p/9641468.html
selenium API(二)相关推荐
- python selenium api_Selenium2+python自动化-查看selenium API
前面都是点点滴滴的介绍selenium的一些api使用方法,那么selenium的api到底有多少呢?本篇就叫大家如何去查看selenium api,不求人,无需伸手找人要,在自己电脑就有. pydo ...
- solidworks api二次开发实例详解_Solidworks开发语言对比及分析
很多初学Solidworks二次开发的同学,也许都会纠结使用何种语言进行二次开发.对于Solidworks二次开发的语言,官方有VBA,VB.NET,C#以及C++,四种语言. 用户通常会有如下疑问, ...
- 帝国cms万能通用api二次开发核心包使用说明
简介 帝国cms万能通用api二次开发核心包是一款可以用地对帝国cms进行二次开发,可进行开发微信小程序.百度小程序.支付宝小程序.轻应用.苹果ios安卓android.其他营销插件的二次开发核心包. ...
- java二次开发浏览器内核_深入理解基于Selenium的二次开发
对于做web端自动化测试的人来说,可能接触selenium比QTP还要多,但是我们在做基于selenium的二次开发的时候,经常会说到二次开发是 为了易于维护,很多人可能不懂得维护的价值是什么,和到底 ...
- python+selenium十:selenium的二次封装
python+selenium十:基于原生selenium的二次封装 from selenium import webdriverfrom selenium.webdriver.support.wai ...
- Linux -- 基于zookeeper的java api(二)
Linux -- 基于zookeeper的java api(二) 写一个关于基于集群的zookeeper的自定义实现HA 基于客户端和监控器:使用监控的方法查看每个注册过的节点的状态来做出操作. Wa ...
- Map 3D API二次开发学习指南
作者:杜长宇 – Autodesk开发技术顾问 2012年9月26日 AutoCAD Map 3D 是构建于AutoCAD之上,面向基础设施领域的产品,他采用FDO技术来实现对业界常见GIS数据格式的 ...
- Eplan Electric P8 API二次开发之项目框架的搭建详解
一.目的 本博之前写过几篇Eplan Electric P8 API二次开发的一些小的细节,诸如怎么获取当前打开的项目,怎么在当前页面中插入一个符号(Symbol)及功能(Function)等等.对怎 ...
- 微信商城二次开发php,php版微信小店API二次开发及使用示例-微信开发
本文实例讲述了php版微信小店API二次开发及使用方法.分享给大家供大家参考,具体如下: 1. weixiaodian.php页面: class wXd { public $AppID = " ...
- 测试-6-自动化测试selenium(二)
自动化测试selenium(二) 一. 浏览器的操作 1. 浏览器的最大化 2. 设置浏览器的宽.高 3. 操作浏览器的前进.后退 4. 控制浏览器滚动条 二. 键盘的操作 1. 键盘按键用法 2. ...
最新文章
- Electron 调用系统工具记事本、计算器等
- 下运行maven命令_实话实说 | 这些maven命令,你会几个?
- vuejs之【router-link】大全(二)
- JAVA Web Servlet中的异步处理 (1) -- Servlet3.0中的Async支持
- linux传输文件scp自动接密码,配置scp在Linux或Unix之间传输文件无需密码
- 封网后聊天就用“飞秋”
- Function(洛谷-P1464)
- linux下如何分区格式化硬盘,Linux之磁盘如何分区,格式化挂载
- ubuntu 上的python不能解析jpeg,png?
- TCP/IP报文格式详解
- 用Java简单实现验证码功能以及校验
- 使用echarts制作拓扑图
- DICOM世界观·第一章 坐标系统
- python爬取自如房间信息(一)
- 怎样在线将图片制作成圆角图样式
- thinkphp3.1迁移php7,ThinkPHP3.1迁移到PHP7
- Word2Vec解释
- LINUX基础实验练习
- 观点:企业需要一个什么样的独立云管平台?
- 将最大位1000位的16进制转化位8进制(蓝桥杯)
热门文章
- 全新思路!阿里达摩院将Transformer引入在线行为检测!ICCV2021
- CVPR2021 Oral|只用静态图,实时渲染出丝滑3D效果
- 这17 种方法让 PyTorch 训练速度更快!
- 带你自学Python系列(二):Python列表总结-思维导图
- linux unix mac windows,文件路径-windows上的反斜杠和Mac OS/Linux/Unix上的正斜杠,Windows,倒,以及,macOSLinuxUNIX...
- 人工智能 对比试验_人工智能与药物研发
- 解决安卓SDK无法下载Package的问题
- 深度学习(四十二)word2vec词向量学习笔记
- c++中enum 如何使用(转)
- jquery 监听td点击事件_安卓开发监听点击事件的一种方法