Python - selenium_WebDriver 鼠标键盘事件
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 鼠标键盘事件相关推荐
- python pyhook监听扫码_Python——pyHook监听鼠标键盘事件
pyHook包为Windows中的全局鼠标和键盘事件提供回调. 底层C库报告的信息包括事件的时间,事件发生的窗口名称,事件的值,任何键盘修饰符等. 而正常工作需要pythoncom等操作系统的API的 ...
- java 模拟鼠标键盘_使用SWT模拟鼠标键盘事件
二.使用SWT中的鼠标键盘事件 在SWT的snippets中有两个例子用来介绍这两个方法的使用,如下: (1).模拟鼠标事件 * UI Automation (for testing tools) s ...
- Linux 模拟 鼠标 键盘 事件
/************************************************************************* Linux 模拟 鼠标 键盘 事件* 说明:* 以 ...
- c++ 读文件_第十六节:读文件,文件的创建,写文件,文件的读写以及鼠标键盘事件和图形绘制...
读文件 //读文件 文件的创建 public 写文件 public 文件的读写 重点: 文件类主要功能:创建,读属性,写属性,删除等 文件读写操作 File类 File类的对象 用来获取文件本身的信息 ...
- 使用 Python 实现鼠标键盘自动化
使用 Python 实现鼠标键盘自动化 本文演示了如何使用 Python 的 pyautogui 模块实现鼠标的自动移动以及键盘的自行输入. 该模块不是 Python 自带的, 因此执行以下命令进行安 ...
- python热键+鼠标键盘控制
python热键+鼠标键盘控制 应用:ctrl+home自动输入文本:home停止 代码:hotkey 应用:ctrl+home自动输入文本:home停止 代码:hotkey #!/usr/bin/e ...
- [转载] 使用 Python 实现鼠标键盘自动化
参考链接: 使用Python进行鼠标和键盘自动化 使用 Python 实现鼠标键盘自动化 本文演示了如何使用 Python 的 pyautogui 模块实现鼠标的自动移动以及键盘的自行输入. 该模块不 ...
- C#使用LibVLC实现播放遇到无法全屏及鼠标键盘事件问题解决
最近开发视频播放软件使用VLC实现流媒体播放,在使用libVLC自己进行集成播放控件时发现,播放窗口picturebox不响应鼠标键盘事件,无法进行双击或鼠标全屏播放功能的实现.原因是事件被vlc s ...
- Selenium 利用 JS/JQ 操作元素、鼠标键盘事件、Cookie 操作
今天是持续写作的第 26 / 100 天. 如果你有想要交流的想法.技术,欢迎在评论区留言. 本篇博客主要学习 Selenium 中如何利用 JavaScript 与 JQuery 操作页面元素,以及 ...
最新文章
- Django-C002-深入模型,到底有多深
- petalinux2020.1使用注意
- mysql 5.5.38_数据库的硬迁移和mysql 5.5.38源码安装
- Composer PHP依赖管理
- salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件
- 将博客文章转变为电子书
- JS判断Iframe是否加载完成
- html5 ocr图片识别,OCR识别控件LEADTOOLS HTML5案例:整页OCR识别
- (转)J2ME中随机数字的生成
- python time模块计时_python中计时模块timeit的使用方法
- 印刷(烫金)缺陷在线检测系统
- 电脑卡慢怎么办,是什么原因,怎么处理Sysmain
- vs201中添加splashScreen
- 堆积柱形图显示总数_excel堆积柱形图如何显示总数
- spring boot 整合 jpa
- Python3 - pillow的基本用法(第三天)
- 基于微信小程序的个人管理软件
- 详解AES对称加密(python实现文件加密)
- jQuery 基础 筛选和遍历 jQuery 对象
- 前端---HTML QQ空间主页制作
热门文章
- 伍六七带你学算法 入门篇-矩形重叠
- 2022-2028年中国丁二烯橡胶行业市场规模研究及前瞻分析报告
- 3 用python进行OpenCV实战之画图(直线,矩形,圆形)
- 2019-4:自考总结
- iceberg问题小结
- 批量梯度下降(BGD)、随机梯度下降(SGD)以及小批量梯度下降(MBGD)的理解
- 汇编语言将数据、代码、栈放入不同段基础
- SpringBoot配置文件YAML配置注入(详解)
- View的Touch事件分发(二.源码分析)
- [JS]请填充代码,使mySort()能使传入的参数按照从小到大的顺序显示出来。