from selenium import webdriver
#引入ActionChains类  提供了鼠标的操作方法
from selenium.webdriver.common.action_chains import  ActionChainsfrom selenium.webdriver.common.keys import Keys
from ReadTxt_demo import readTxt
import time#鼠标键盘事件
'''
ActionChains 常用方法perform()  执行所有ActionChains 中存储的行为;
context_click()  右击;
double_click()   双击;
drag_and_drop()  拖动;
move_to_element()  鼠标悬停。'''driver = webdriver.Firefox()driver.maximize_window()
#打开百度网盘
driver.get("https://pan.baidu.com")#点击 “帐号密码登录”
driver.find_element_by_xpath(".//*[@id='login-middle']/div/div[6]/div[2]/a").click()
# 引入读取文件模块获取用户名密码
# from ReadTxt_demo import readTxt
filePath = 'userInfo.txt'
re_name, re_pwd = readTxt(filePath)
#清空输入框,防止追加输入
driver.find_element_by_name("userName").clear()
username = driver.find_element_by_name("userName")
#输入用户名
username.send_keys(re_name)
#通过键盘敲击tab ,切换到下一个输入框。
username.send_keys(Keys.TAB)
time.sleep(2)
password = driver.find_element_by_name("password")
password.send_keys(re_pwd)
password.send_keys(Keys.ENTER)
time.sleep(3)# 事实证明如果不加隐式等待implicitly_wait(5) 会出现:错误:Message: Unable to locate element:
#所以 implicitly_wait(5)  比sleep 靠谱
driver.implicitly_wait(5)
#测试单击操作
#driver.find_element_by_xpath(".//*[@id='h5Input0']").click()#定位到元素,进行右击操作
#通过 link_text 定位。
right_click = driver.find_element_by_link_text('新建文件夹(1)')
driver.implicitly_wait(5)
#鼠标悬停
ActionChains(driver).move_to_element(right_click).perform()
time.sleep(10)
#对定位到的元素执行右击操作
ActionChains(driver).context_click(right_click).perform()
#.//*[@id='layoutMain']/div[2]/div[3]/div/div/dd[1]/div[2]/div[1]#鼠标拖动操作,
#定义原位置、目标位置=right_click
driver.implicitly_wait(5)
file_source = driver.find_element_by_xpath(".//*[@id='layoutMain']/div[2]/div[3]/div/div/dd[1]/div[2]/div[1]")
driver.implicitly_wait(5)
ActionChains(driver).drag_and_drop(file_source,right_click).perform()
driver.implicitly_wait(5)#鼠标双击
ActionChains(driver).double_click(right_click).perform()
time.sleep(13)
'''
from selenium.webdriver.common.action_chains import  ActionChains
导入提供鼠标操作的 ActionChains 类
ActionChains(driver)
调用ActionChains()类,将浏览器驱动driver作为参数传入
context_click(right_click)
context_click()方法用户模拟鼠标右键操作,在调用时需要指定元素定位
perform()
执行所有ActionChains中存储的行为,可以理解为对整个操作的提交动作。'''
#下面时 键盘操作

driver.quit()
#driver.close()

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time'''from selenium.webdriver.common.keys import Keys
在使用键盘按键方法前需要先导入 keys 类包。
下面经常使用到的键盘操作:
send_keys(Keys.BACK_SPACE) 删除键(BackSpace)
send_keys(Keys.SPACE) 空格键(Space)
send_keys(Keys.TAB) 制表键(Tab)
send_keys(Keys.ESCAPE) 回退键(Esc)
send_keys(Keys.ENTER) 回车键(Enter)
send_keys(Keys.CONTROL,'a') 全选(Ctrl+A)
send_keys(Keys.CONTROL,'c') 复制(Ctrl+C)博客园---虫师
http://fnng.cnblogs.com 52
send_keys(Keys.CONTROL,'x') 剪切(Ctrl+X)
send_keys(Keys.CONTROL,'v') 粘贴(Ctrl+V)
Keys 类所提供的按键请查阅 webdriver API.'''driver = webdriver.Firefox()
url = "http://www.hao123.com"
driver.maximize_window()
driver.get(url)driver.implicitly_wait(3)
driver.find_element_by_id('search-input').clear()
driver.find_element_by_id('search-input').send_keys('seleniumm')
driver.implicitly_wait(3)
#回删
driver.find_element_by_id('search-input').send_keys(Keys.BACK_SPACE)
driver.implicitly_wait(3)
#追加空格
driver.find_element_by_id('search-input').send_keys(Keys.SPACE)
driver.implicitly_wait(3)
driver.find_element_by_id('search-input').send_keys('教程')
driver.implicitly_wait(3)
#全选内容
driver.find_element_by_id('search-input').send_keys(Keys.CONTROL,'a')
driver.implicitly_wait(3)
#剪切内容
driver.find_element_by_id('search-input').send_keys(Keys.CONTROL,'x')
driver.implicitly_wait(3)#粘贴内容
driver.find_element_by_id('search-input').send_keys(Keys.CONTROL,'v')
driver.implicitly_wait(3)#回车代替 点击
driver.find_element_by_id('search-input').send_keys(Keys.ENTER)
driver.implicitly_wait(3)time.sleep(10)driver.quit()

转载于:https://www.cnblogs.com/Skyyj/p/6687028.html

Python - selenium_WebDriver 鼠标键盘事件相关推荐

  1. python pyhook监听扫码_Python——pyHook监听鼠标键盘事件

    pyHook包为Windows中的全局鼠标和键盘事件提供回调. 底层C库报告的信息包括事件的时间,事件发生的窗口名称,事件的值,任何键盘修饰符等. 而正常工作需要pythoncom等操作系统的API的 ...

  2. java 模拟鼠标键盘_使用SWT模拟鼠标键盘事件

    二.使用SWT中的鼠标键盘事件 在SWT的snippets中有两个例子用来介绍这两个方法的使用,如下: (1).模拟鼠标事件 * UI Automation (for testing tools) s ...

  3. Linux 模拟 鼠标 键盘 事件

    /************************************************************************* Linux 模拟 鼠标 键盘 事件* 说明:* 以 ...

  4. c++ 读文件_第十六节:读文件,文件的创建,写文件,文件的读写以及鼠标键盘事件和图形绘制...

    读文件 //读文件 文件的创建 public 写文件 public 文件的读写 重点: 文件类主要功能:创建,读属性,写属性,删除等 文件读写操作 File类 File类的对象 用来获取文件本身的信息 ...

  5. 使用 Python 实现鼠标键盘自动化

    使用 Python 实现鼠标键盘自动化 本文演示了如何使用 Python 的 pyautogui 模块实现鼠标的自动移动以及键盘的自行输入. 该模块不是 Python 自带的, 因此执行以下命令进行安 ...

  6. python热键+鼠标键盘控制

    python热键+鼠标键盘控制 应用:ctrl+home自动输入文本:home停止 代码:hotkey 应用:ctrl+home自动输入文本:home停止 代码:hotkey #!/usr/bin/e ...

  7. [转载] 使用 Python 实现鼠标键盘自动化

    参考链接: 使用Python进行鼠标和键盘自动化 使用 Python 实现鼠标键盘自动化 本文演示了如何使用 Python 的 pyautogui 模块实现鼠标的自动移动以及键盘的自行输入. 该模块不 ...

  8. C#使用LibVLC实现播放遇到无法全屏及鼠标键盘事件问题解决

    最近开发视频播放软件使用VLC实现流媒体播放,在使用libVLC自己进行集成播放控件时发现,播放窗口picturebox不响应鼠标键盘事件,无法进行双击或鼠标全屏播放功能的实现.原因是事件被vlc s ...

  9. Selenium 利用 JS/JQ 操作元素、鼠标键盘事件、Cookie 操作

    今天是持续写作的第 26 / 100 天. 如果你有想要交流的想法.技术,欢迎在评论区留言. 本篇博客主要学习 Selenium 中如何利用 JavaScript 与 JQuery 操作页面元素,以及 ...

最新文章

  1. Django-C002-深入模型,到底有多深
  2. petalinux2020.1使用注意
  3. mysql 5.5.38_数据库的硬迁移和mysql 5.5.38源码安装
  4. Composer PHP依赖管理
  5. salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件
  6. 将博客文章转变为电子书
  7. JS判断Iframe是否加载完成
  8. html5 ocr图片识别,OCR识别控件LEADTOOLS HTML5案例:整页OCR识别
  9. (转)J2ME中随机数字的生成
  10. python time模块计时_python中计时模块timeit的使用方法
  11. 印刷(烫金)缺陷在线检测系统
  12. 电脑卡慢怎么办,是什么原因,怎么处理Sysmain
  13. vs201中添加splashScreen
  14. 堆积柱形图显示总数_excel堆积柱形图如何显示总数
  15. spring boot 整合 jpa
  16. Python3 - pillow的基本用法(第三天)
  17. 基于微信小程序的个人管理软件
  18. 详解AES对称加密(python实现文件加密)
  19. jQuery 基础 筛选和遍历 jQuery 对象
  20. 前端---HTML QQ空间主页制作

热门文章

  1. 伍六七带你学算法 入门篇-矩形重叠
  2. 2022-2028年中国丁二烯橡胶行业市场规模研究及前瞻分析报告
  3. 3 用python进行OpenCV实战之画图(直线,矩形,圆形)
  4. 2019-4:自考总结
  5. iceberg问题小结
  6. 批量梯度下降(BGD)、随机梯度下降(SGD)以及小批量梯度下降(MBGD)的理解
  7. 汇编语言将数据、代码、栈放入不同段基础
  8. SpringBoot配置文件YAML配置注入(详解)
  9. View的Touch事件分发(二.源码分析)
  10. [JS]请填充代码,使mySort()能使传入的参数按照从小到大的顺序显示出来。