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(二)相关推荐

  1. python selenium api_Selenium2+python自动化-查看selenium API

    前面都是点点滴滴的介绍selenium的一些api使用方法,那么selenium的api到底有多少呢?本篇就叫大家如何去查看selenium api,不求人,无需伸手找人要,在自己电脑就有. pydo ...

  2. solidworks api二次开发实例详解_Solidworks开发语言对比及分析

    很多初学Solidworks二次开发的同学,也许都会纠结使用何种语言进行二次开发.对于Solidworks二次开发的语言,官方有VBA,VB.NET,C#以及C++,四种语言. 用户通常会有如下疑问, ...

  3. 帝国cms万能通用api二次开发核心包使用说明

    简介 帝国cms万能通用api二次开发核心包是一款可以用地对帝国cms进行二次开发,可进行开发微信小程序.百度小程序.支付宝小程序.轻应用.苹果ios安卓android.其他营销插件的二次开发核心包. ...

  4. java二次开发浏览器内核_深入理解基于Selenium的二次开发

    对于做web端自动化测试的人来说,可能接触selenium比QTP还要多,但是我们在做基于selenium的二次开发的时候,经常会说到二次开发是 为了易于维护,很多人可能不懂得维护的价值是什么,和到底 ...

  5. python+selenium十:selenium的二次封装

    python+selenium十:基于原生selenium的二次封装 from selenium import webdriverfrom selenium.webdriver.support.wai ...

  6. Linux -- 基于zookeeper的java api(二)

    Linux -- 基于zookeeper的java api(二) 写一个关于基于集群的zookeeper的自定义实现HA 基于客户端和监控器:使用监控的方法查看每个注册过的节点的状态来做出操作. Wa ...

  7. Map 3D API二次开发学习指南

    作者:杜长宇 – Autodesk开发技术顾问 2012年9月26日 AutoCAD Map 3D 是构建于AutoCAD之上,面向基础设施领域的产品,他采用FDO技术来实现对业界常见GIS数据格式的 ...

  8. Eplan Electric P8 API二次开发之项目框架的搭建详解

    一.目的 本博之前写过几篇Eplan Electric P8 API二次开发的一些小的细节,诸如怎么获取当前打开的项目,怎么在当前页面中插入一个符号(Symbol)及功能(Function)等等.对怎 ...

  9. 微信商城二次开发php,php版微信小店API二次开发及使用示例-微信开发

    本文实例讲述了php版微信小店API二次开发及使用方法.分享给大家供大家参考,具体如下: 1. weixiaodian.php页面: class wXd { public $AppID = " ...

  10. 测试-6-自动化测试selenium(二)

    自动化测试selenium(二) 一. 浏览器的操作 1. 浏览器的最大化 2. 设置浏览器的宽.高 3. 操作浏览器的前进.后退 4. 控制浏览器滚动条 二. 键盘的操作 1. 键盘按键用法 2. ...

最新文章

  1. Electron 调用系统工具记事本、计算器等
  2. 下运行maven命令_实话实说 | 这些maven命令,你会几个?
  3. vuejs之【router-link】大全(二)
  4. JAVA Web Servlet中的异步处理 (1) -- Servlet3.0中的Async支持
  5. linux传输文件scp自动接密码,配置scp在Linux或Unix之间传输文件无需密码
  6. 封网后聊天就用“飞秋”
  7. Function(洛谷-P1464)
  8. linux下如何分区格式化硬盘,Linux之磁盘如何分区,格式化挂载
  9. ubuntu 上的python不能解析jpeg,png?
  10. TCP/IP报文格式详解
  11. 用Java简单实现验证码功能以及校验
  12. 使用echarts制作拓扑图
  13. DICOM世界观·第一章 坐标系统
  14. python爬取自如房间信息(一)
  15. 怎样在线将图片制作成圆角图样式
  16. thinkphp3.1迁移php7,ThinkPHP3.1迁移到PHP7
  17. Word2Vec解释
  18. LINUX基础实验练习
  19. 观点:企业需要一个什么样的独立云管平台?
  20. 将最大位1000位的16进制转化位8进制(蓝桥杯)

热门文章

  1. 全新思路!阿里达摩院将Transformer引入在线行为检测!ICCV2021
  2. CVPR2021 Oral|只用静态图,实时渲染出丝滑3D效果
  3. 这17 种方法让 PyTorch 训练速度更快!
  4. 带你自学Python系列(二):Python列表总结-思维导图
  5. linux unix mac windows,文件路径-windows上的反斜杠和Mac OS/Linux/Unix上的正斜杠,Windows,倒,以及,macOSLinuxUNIX...
  6. 人工智能 对比试验_人工智能与药物研发
  7. 解决安卓SDK无法下载Package的问题
  8. 深度学习(四十二)word2vec词向量学习笔记
  9. c++中enum 如何使用(转)
  10. jquery 监听td点击事件_安卓开发监听点击事件的一种方法