#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 模拟键盘事件 复制粘贴、右键、回车等的更多相关文章

  1. JavaScript 模拟键盘事件

    JavaScript 模拟键盘事件和鼠标事件(比如模拟按下回车等) 2016年09月08日 15:23:25 神秘_博士 阅读数:41158 标签: javascript鼠标键盘事件模拟更多 个人分类 ...

  2. 初识 jquery.simulate.js 模拟键盘事件

    用jquery 和 jquery.simulate.js 实现模拟键盘事件,点击上下左右div相当于点击键盘的上下左右键 <!DOCTYPE html> <html> < ...

  3. JS模拟键盘事件 -- 原理及小例子

    提问: 键盘默认事件,比如tab切换,alt+f4关闭,ctrl+t新建等,如果不想通过键盘而是一些按钮点击来触发这些功能,该咋办呢? 例子: 先以tab为例上一个小例子: <!DOCTYPE ...

  4. Java&Selenium 模拟键盘方法封装

    Java&Selenium 模拟键盘方法封装 package util; import java.awt.AWTException; import java.awt.Robot; import ...

  5. 自动化测试基础篇--Selenium鼠标键盘事件

    摘自https://www.cnblogs.com/sanzangTst/p/7477382.html 前面几篇文章我们学习了怎么定位元素,同时通过实例也展示了怎么切换到iframe,怎么输入用户名和 ...

  6. selenium模拟键盘操作

    单键 /** * 模拟键盘回车事件 * @throws AWTException */ public void KeyEventEnter() throws AWTException { Robot ...

  7. Python+selenium之键盘事件

    keuys()类提供键盘上所有的按键方法.send_keys()方法可以用来模拟键盘输入. from selenium import webdriver from selenium.webdriver ...

  8. Python+Selenium学习--键盘事件

    场景 我们在实际的测试工作中,有时候需要使用tab键将焦点移动到下一个元素,用于验证元素的排序是否正确.webdriver的Keys()类提供键盘上所有的操作,甚至可以模拟一些组合键的操作,如Ctrl ...

  9. Robot 模拟操作键盘 实现复制粘贴功能;

    1.代码逻辑 : a.封装一个粘贴的方法体:setAndctrlVClipboardData(String string);参数string是需要粘贴的内容 : b.声明一个StringSelecti ...

随机推荐

  1. 记录一下我的git连接不上GitHub问题

    1.日常操作,提交代码,报错误下: $ git clone git@github.com:hanchao5272/myreflect.git Cloning into 'myreflect'... s ...

  2. vue项目中导出Excel文件功能的前端代码实现

    在项目中遇到了两种不同情况, 1.get请求导出文件,实现起来相对简单 // 导出数据 exportData() { window.location.href = `/oes-content-mana ...

  3. 【数据库开发】 C连接mysql——常用的函数

    转载:http://blog.chinaunix.net/uid-26758020-id-3288633.html 1.MYSQL *mysql_init(MYSQL *mysql)    为mysq ...

  4. opencv入门笔记

    一.图片基本操作 1.1 显示图片 #include <opencv2/opencv.hpp> //头文件 using namespace cv; //包含cv命名空间 void main ...

  5. easyui datagrid 实现单选并能取消单选

    var intjavadillcheck=0; var rowjavadillselect=null; function ghm_getPageListCallback(result){ if(res ...

  6. solr8.0创建core,报Can't find resource 'solrconfig.xml

    出现这个问题,主要是因为没有找到对应的配置文件, 只需要将solr_home\configsets\_default\conf下的配置文件,拷贝到自己新建的core文件夹下即可解决问题!

  7. python map函数(23)

    截至到目前为止,其实我们已经接触了不少的python内置函数,而map函数也是其中之一,map函数是根据指定函数对指定序列做映射,在开发中使用map函数也是有效提高程序运行效率的办法之一. 一.语法定 ...

  8. [转帖]超能课堂(199) 接口渐趋统一,USB4又如何能引领变革?

    https://www.expreview.com/70414.html 接口协议真复杂.. 9月3日,USB IF正式公布了USB4(你没看错,就是USB4,没有空格)的技术规格.USB-IF表示, ...

  9. Java面试题代码篇

    1.统计字符串中的各种字符的个数并对其排序 package JavaMianSiTest; public class TongJIZiFu { public static void main(Stri ...

  10. Word、Excel、PPT 2016、2013、2010、2007 没有保存或断电导致文件丢失怎么恢复?

    1. 前言 没有保存文档还能恢复吗?死机.断电.蓝屏导致来不及保存文档,还能恢复吗?答案当然是可以的!Office中本身就有恢复文档的功能,可以帮助我们最大化的挽回损失. Office2013与Off ...