selenium 模拟键盘事件 复制粘贴、右键、回车等
#coding=utf-8
'''
selenium
'''
from selenium import webdriver as wd
import time
bc=wd.Chrome(executable_path='f:\\chromedriver')
#bc=wd.Ie(executable_path='f:\\IEDriverServer')
bc.get('https://www.sogou.com')
#模拟键盘事件
from selenium.webdriver.common.keys import Keys
query=bc.find_element_by_id('query')
query.send_keys(Keys.F12)#打开开发者模式
time.sleep(3)
#query.send_keys(Keys.F12)#第二次点击 关闭开发者模式
query.send_keys('selenium')
#模拟回车键
#query.send_keys(Keys.RETURN)
query.send_keys(Keys.ENTER)
time.sleep(3)
#模拟键盘复制、粘贴 ctrl+v
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys
import win32clipboard as w
import time
import win32api
#写了2个函数
#读取剪切板
def get_text():
w.OpenClicpboard()
d=w.GetClipboardData(win32con.CF_TEXT)
w.CloseClipboard()
return d
#设置剪切板内容
def setText(astring)
w.OpenClicpboard()
w.EmptyClipboard()
w.SetClipboardData(win32con.CF_UNICODETEXT,astring)
w.CloseClipboard()
vk_CODE={'enter':0x0D,'ctrl':0x11,'a':0x41,'v':0x56,'x':0x58}
#键盘按下
def keyDown(keyName):
win32api.keybd_event(vk_CODE[keyName],0,0,0)
#键盘抬起
def keyUp(keyName):
win32api.keybd_event(vk_CODE[keyName],0,win32con.KEYEVENT_KEYUP,0)
content='光荣之路'
set_text(content)
getcontent=get_text()
print('剪切板中的内容:',getcontent.decode('gbk'))
bc.find_element_by_id('kw').click()
time.sleep(1)
keyDown('ctrl')
keyDown('v')
#释放ctrl+v
keyUp('v')
keyUp('ctrl')
time.sleep(1)
bc.find_element_by_id('su').click()
time.sleep(3)
#ActionChains模拟键盘复制、粘贴(并发可以使用)
ActionChains(bc).key_down(Keys.CONTROL).send_keys('a').key_up(Keys.CONTROL).perform()
ActionChains(bc).key_down(Keys.CONTROL).send_keys('x').key_up(Keys.CONTROL).perform()
bc.get('http://www.baidu.com')
bc.find_element_by_id('kw').click()
ActionChains(bc).key_down(Keys.CONTROL).send_keys('v').key_up(Keys.CONTROL).perform()
bc.find_element_by_id('su').click()
#鼠标右键
input_box=bc.find_element_by_id('kw')
ActionChains(bc).context_click(input_box).perform()#鼠标右键
set_text('我是谁')
ActionChains(bc).send_keys('p').perform()#粘贴 #这个没有搞定总是输入P
bc.find_element_by_id('stb').click()
#鼠标左键按住、松开
div=bc.find_element_by_id('div1')
a=ActionChains(bc)
a.click_and_hold(div).perform()#按住左键
time.sleep(2)
a.realease(div).perform()#释放鼠标作左键
a.click_and_hold(div).perform()#按住左键
time.sleep(2)
a.realease(div).perform()
selenium 模拟键盘事件 复制粘贴、右键、回车等的更多相关文章
- JavaScript 模拟键盘事件
JavaScript 模拟键盘事件和鼠标事件(比如模拟按下回车等) 2016年09月08日 15:23:25 神秘_博士 阅读数:41158 标签: javascript鼠标键盘事件模拟更多 个人分类 ...
- 初识 jquery.simulate.js 模拟键盘事件
用jquery 和 jquery.simulate.js 实现模拟键盘事件,点击上下左右div相当于点击键盘的上下左右键 <!DOCTYPE html> <html> < ...
- JS模拟键盘事件 -- 原理及小例子
提问: 键盘默认事件,比如tab切换,alt+f4关闭,ctrl+t新建等,如果不想通过键盘而是一些按钮点击来触发这些功能,该咋办呢? 例子: 先以tab为例上一个小例子: <!DOCTYPE ...
- Java&Selenium 模拟键盘方法封装
Java&Selenium 模拟键盘方法封装 package util; import java.awt.AWTException; import java.awt.Robot; import ...
- 自动化测试基础篇--Selenium鼠标键盘事件
摘自https://www.cnblogs.com/sanzangTst/p/7477382.html 前面几篇文章我们学习了怎么定位元素,同时通过实例也展示了怎么切换到iframe,怎么输入用户名和 ...
- selenium模拟键盘操作
单键 /** * 模拟键盘回车事件 * @throws AWTException */ public void KeyEventEnter() throws AWTException { Robot ...
- Python+selenium之键盘事件
keuys()类提供键盘上所有的按键方法.send_keys()方法可以用来模拟键盘输入. from selenium import webdriver from selenium.webdriver ...
- Python+Selenium学习--键盘事件
场景 我们在实际的测试工作中,有时候需要使用tab键将焦点移动到下一个元素,用于验证元素的排序是否正确.webdriver的Keys()类提供键盘上所有的操作,甚至可以模拟一些组合键的操作,如Ctrl ...
- Robot 模拟操作键盘 实现复制粘贴功能;
1.代码逻辑 : a.封装一个粘贴的方法体:setAndctrlVClipboardData(String string);参数string是需要粘贴的内容 : b.声明一个StringSelecti ...
随机推荐
- 【web 安全测试Tools】BurpSuite 1.7.32及注册机【无后门版】
BurpSuite 1.7.32 原版+注册机 下载 链接:https://pan.baidu.com/s/1LFpXn2ulTLlcYZHG5jEjyw 密码:mie3 注意无后门版文件完整性: b ...
- API网关从入门到放弃
前言 假设你正在开发一个电商网站,那么这里会涉及到很多后端的微服务,比如会员.商品.推荐服务等等. 那么这里就会遇到一个问题,APP/Browser怎么去访问这些后端的服务? 如果业务比较简单的话,可 ...
- VUE-CLI项目同一局域网手机通过IP访问电脑本地项目
0.找到config文件夹下的index.js文件,修改host内容为hots:'0.0.0.0',此时重新运行项目,则其他设备可以通过ip进行访问 1.首先确保电脑防火墙或者杀毒软件关闭,因为大多数 ...
- jqGrid获取选中行id集合
$("#jqGrid").jqGrid("getGridParam","selarrrow");
- [转帖]删除一张大表时为什么undo占用空间接近原表两倍?
删除一张大表时为什么undo占用空间接近原表两倍? https://www.toutiao.com/i6736735016492990983/ 原创 波波说运维 2019-09-22 00:01:00 ...
- Python连接ORACLE操作
一.准备工作 1.安装cx_Oracle ttps://pypi.python.org/pypi下查找cx_Oracle并下载 执行安装命令 pip install cx_Oracle-6.0rc1- ...
- python学习-15 基本数据类型4
1.range a = range(0 ,100 , 5) #创建>=0,<100的连续数字,步长为5 for b in a: print(b) 运算结果: 0 5 10 15 20 25 ...
- 利用Python进行数据分析_Pandas_基本功能
申明:本系列文章是自己在学习<利用Python进行数据分析>这本书的过程中,为了方便后期自己巩固知识而整理. 第一 重新索引 Series的reindex方法 In [15]: obj = ...
- PAT(B) 1013 数素数(Java)
题目链接:1013 数素数 代码 /** * Score: 20 * Run Time: 124ms * @author wowpH * @version 1.0 */ import java.uti ...
- Python开发【第四章】:函数剖析
一.Python函数剖析 1.函数的调用顺序 #!/usr/bin/env python # -*- coding:utf-8 -*- #-Author-Lian #函数错误的调用方式 def fun ...