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. ...
最新文章
- 克莱门特公司在俄罗斯一个数据中心安装其新型冷却系统
- 一个实现生产和消费的例子(并且使用了接口和反射技术,动态调用方法)小框架...
- 浏览器是如何展示网页的
- 一款旅游型的在路上应用源码项目
- python3 换源_CentOS 7.5 下 python3 安装及 pip 换源
- (转)Spring Boot(九):定时任务
- java游戏将相_(Java)算法——位运算基础及基本应用
- 解决CentOS 6 字体变成方框的方法
- python为什么叫爬虫-python为什么叫网络爬虫
- python自动化学习_Python自动化学习笔记(二)
- 侠客行java_侠客行
- 电子元件-555时基芯片
- 控制pico—unity中双目摄像机的clearFlags问题
- 小米系统shell_小米平板1(Mi Pad1) 采用神盾内核的 lineageOS 14.1 / 15.1 / 16.0 刷机教程...
- 网吧流媒体服务器系统,网吧视频点播服务器架设完全攻略流媒体服务器 -电脑资料...
- html word页面展示,word文档怎样调页面
- 【文献学习】Complex-Valued Convolutions for Modulation Recognition using Deep Learning
- Word控件Spire.Doc 转换教程(十二):如何将 Word 转换为 EPub、XPS、Emf
- QQ浏览器性能提升之路-windows性能分析工具篇
- 《惢客创业日记》2019.01.21(周一)你还记得米卢吗?
热门文章
- 收藏 | 理解卷积神经网络中的自注意力机制
- 学习 |《神经网络与深度学习》的讲义
- Python解决print()不换行问题
- java选择排序不稳定_选择排序就这么简单 - Java3y的个人空间 - OSCHINA - 中文开源技术交流社区...
- 小白学深度之LSTM长短期记忆神经网络——深度AI科普团队
- ashx在web.config中如何配置_如何在 Istio 1.6 中配置 Prometheus-Operator 和抓取指标
- airpods pro连接安卓声音小_airpods pro 麦克风声音小
- oracle怎么查询和插入表,Oracle查询一个表的数据插入到另一个表
- 图像处理-RBG图像和灰度图像
- 软考网络管理员学习笔记1之第一章计算机硬件基础