4. selenium中鼠标和键盘操作

摘要:
1、 鼠标操作步骤1:介绍selenium的模块功能。webdriver。commonaction_ChainimportActionChains第2步:locate element=driver find_elements_by_Id('kw')第3步:创建动作对象action=ActionChains(driver)第4步:在动作对象动作上操作鼠标。移动_ t

一、鼠标操作

第一步:引入模块函数 

from selenium.webdriver.common.action_chains import ActionChains 

第二步:元素定位

element = driver.find_elements_by_id('kw')

第三步:创建一个action对象

action = ActionChains(driver)

第四步:在action对象上操作鼠标

action.move_to_element(element)

第五步:在action上进行perform,即实现刚刚一系列的动作提交

 

action.perform()

  

总的:

driver = webdriver.Chrome()
element = driver.find_elements_by_id('kw')
action = ActionChains(driver)
action.move_to_element(element)
action.perform()

  

ActionChains方法列表:

click(on_element=None) ——单击鼠标左键

click_and_hold(on_element=None) ——点击鼠标左键,不松开

context_click(on_element=None) ——点击鼠标右键

double_click(on_element=None) ——双击鼠标左键

drag_and_drop(source, target) ——拖拽到某个元素然后松开

drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某个坐标然后松开

key_down(value, element=None) ——按下某个键盘上的键

key_up(value, element=None) ——松开某个键

move_by_offset(xoffset, yoffset) ——鼠标从当前位置移动到某个坐标

move_to_element(to_element) ——鼠标移动到某个元素

move_to_element_with_offset(to_element, xoffset, yoffset) ——移动到距某个元素(左上角坐标)多少距离的位置

perform() ——执行链中的所有动作

release(on_element=None) ——在某个元素位置松开鼠标左键

send_keys(*keys_to_send) ——发送某个键到当前焦点的元素

send_keys_to_element(element, *keys_to_send) ——发送某个键到指定元素

二、键盘操作:

引入模块函数:

from selenium.webdriver.common.keys import Keys

  

# -*- coding: utf-8 -*-

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
time.sleep(3)

driver.find_element_by_id('kw').send_keys('selenium')  #在搜索框中输入"selenium"
driver.find_element_by_id('kw').send_keys(Keys.SPACE)  #输入空格键
driver.find_element_by_id('kw').send_keys('python')  #在搜索框中输入"python"
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'a')  #输入Control+a模拟全选
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'c')  #输入Control+c模拟复制
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'v')  #输入Control+v模拟粘贴
driver.find_element_by_id('kw').send_keys(Keys.ENTER)  #输入回车代替点击搜索按钮

time.sleep(3)
driver.close()

#下面是一些常用的键盘事件:

# Keys.BACK_SPACE:回退键(BackSpace)
# Keys.TAB:制表键(Tab)
# Keys.ENTER:回车键(Enter)
# Keys.SHIFT:大小写转换键(Shift)
# Keys.CONTROL:Control键(Ctrl)
# Keys.ALT:ALT键(Alt)
# Keys.ESCAPE:返回键(Esc)
# Keys.SPACE:空格键(Space)
# Keys.PAGE_UP:翻页键上(Page Up)
# Keys.PAGE_DOWN:翻页键下(Page Down)
# Keys.END:行尾键(End)
# Keys.HOME:行首键(Home)
# Keys.LEFT:方向键左(Left)
# Keys.UP:方向键上(Up)
# Keys.RIGHT:方向键右(Right)
# Keys.DOWN:方向键下(Down)
# Keys.INSERT:插入键(Insert)
# DELETE:删除键(Delete)
# NUMPAD0 ~ NUMPAD9:数字键1-9
# F1 ~ F12:F1 - F12键
# (Keys.CONTROL, ‘a’):组合键Control+a,全选
# (Keys.CONTROL, ‘c’):组合键Control+c,复制
# (Keys.CONTROL, ‘x’):组合键Control+x,剪切
# (Keys.CONTROL, ‘v’):组合键Control+v,粘贴

  

免责声明:文章转载自《4. selenium中鼠标和键盘操作》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇地图距离排序一(mongodb篇)Indigo参考 (2) DataContract 使用 详解(转)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

dom4j工具对XML写入修改删除操作实现

import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; import java.io.File; import java.io.FileOutputS...

selenium3+python自动化50-环境搭建(firefox)【转载】

前言 有不少小伙伴在安装selenium环境后启动firefox报错,因为现在selenium升级到3.0了,跟2.0的版本还有有一点区别的。 安装环境过程中主要会遇到三个坑: 1.'geckodriver' executable needs to be in PATH 2.Expected browser binary location, but una...

Android自动化学习5--对uiautomator2常用操作进行封装

前言 本次我们将会对 uiautomator2 的一些基本操作进行简单的封装,以便更好的应用到UI自动化中。 重复多次滑动 在 uiautomator2 中,给我们提供了一些滑动的操作 swipe(),以及滑动扩展的操作 swipe_ext(),基于此我们可以对重复多次的滑动操作进行简单封装。 def up(self, scale=0.9, tim...

(转)AppiumLibrary基本操作

*** Settings ***Library AppiumLibraryLibrary CollectionsLibrary StringLibrary Dialogs*** Test Cases ***打开appComment Open Applicationhttp://localhost:4723/wd/hubalias=tudouapp plat...

selenium---上传文件(非input标签)

前言   在前面介绍过selenium中的上传操作过程中介绍了,上传分为两种一种为input标签的,另一种为非input标签的,input标签的直接通过send_keys直接将需要上传的文件地址输入即可 非input标签上传 安静这里找到了一个关于非input标签的上传实例,然后通过pywinauto这个第三方库控制Windows控件进行完成上传操作 p...

Selenium之表格的定位

前言 浏览器网页常常会包含各类表格,自动化测试工程师可能会经常操作表格中的行,列以及某些特定的单元格,因此熟练掌握表格的定位方法是自动化测试实施过程中必要的技能。 被测试网页的HTML代码 <!DOCTYPE html> <html> <body> <meta charset="UTF-8">...