一、简单操作


  • click():点击
  • send_keys():输入
  • clear():清空
  • submit():提交表单
  • size:返回元素的尺寸
  • text:获取元素的文本
  • get_attribute():获取元素的属性值
  • title:获取当前页面标题
  • current_url:获取当前页面URL
  • is_displayed():返回元素是否可见

输入、清空、点击操作

代码:

# coding = utf-8
from time import sleep
from selenium import webdriver
# 驱动文件路径
driverfile_path = r'D:\coship\Test_Framework\drivers\chromedriver.exe'
# 启动浏览器
driver = webdriver.Chrome(executable_path=driverfile_path)
# 打开百度首页
driver.get(r'https://www.baidu.com/')
driver.find_element_by_css_selector("#kw").send_keys("selenium")
sleep(2)
driver.find_element_by_css_selector("#kw").clear()
sleep(2)
driver.find_element_by_css_selector("#kw").send_keys("selenium")
driver.find_element_by_css_selector("#su").click()
# 等待2秒退出浏览器进程
sleep(2)
driver.quit()

submit()提交表单操作

一般用于模拟回车键(Enter)

代码:

# coding = utf-8
from time import sleep
from selenium import webdriver
# 驱动文件路径
driverfile_path = r'D:\coship\Test_Framework\drivers\chromedriver.exe'
# 启动浏览器
driver = webdriver.Chrome(executable_path=driverfile_path)
# 打开百度首页
driver.get(r'https://www.baidu.com/')
driver.find_element_by_css_selector("#kw").send_keys("selenium")
# 模拟回车键
driver.find_element_by_css_selector("#kw").submit()
# 等待3秒退出浏览器进程
sleep(3)
driver.quit()

获取元素信息操作

代码:

# coding = utf-8
from time import sleep
from selenium import webdriver
# 驱动文件路径
driverfile_path = r'D:\coship\Test_Framework\drivers\chromedriver.exe'
# 启动浏览器
driver = webdriver.Chrome(executable_path=driverfile_path)
# 打开百度首页
driver.get(r'https://www.baidu.com/')
# 获取搜索输入框尺寸
size = driver.find_element_by_css_selector("#kw").size
print("size=",size)
# 获取页面底部备案信息
text = driver.find_element_by_css_selector("#cp").text
print("text=",text)
# 获取元素的属性值,如id,name,class,type以及其他属性
attribute = driver.find_element_by_css_selector("#kw").get_attribute("class")
print("attribute=",attribute)
# 检查元素是否可见,可见返回True,不可见返回False
result = driver.find_element_by_css_selector("#kw").is_displayed()
print("resulr=",result)
# 获取当前页面标题
title = driver.title
print("title=",title)
# 获取当前页面URL
url = driver.current_url
print("url=",url)
# 等待2秒退出浏览器进程
sleep(2)
driver.quit()

二、键盘操作


webdriver提供了键盘上几乎所有的按键方法,使用前需要导入Keys类

from selenium.webdriver.common.keys import Keys

代码:

# coding = utf-8
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# 驱动文件路径
driverfile_path = r'D:\coship\Test_Framework\drivers\chromedriver.exe'
# 启动浏览器
driver = webdriver.Chrome(executable_path=driverfile_path)
# 打开百度首页
driver.get(r'https://www.baidu.com/')
# 输入内容
driver.find_element_by_css_selector("#kw").send_keys("seleniumm")
# 删除一个字符
driver.find_element_by_css_selector("#kw").send_keys(Keys.BACK_SPACE)
# 输入空格键+"教程"
driver.find_element_by_css_selector("#kw").send_keys(Keys.SPACE)
driver.find_element_by_css_selector("#kw").send_keys("教程")
# 全选输入框内容
driver.find_element_by_css_selector("#kw").send_keys(Keys.CONTROL,'a')
# 剪切内容
driver.find_element_by_css_selector("#kw").send_keys(Keys.CONTROL,'x')
# 粘贴内容
driver.find_element_by_css_selector("#kw").send_keys(Keys.CONTROL,"v")
# 回车键
driver.find_element_by_css_selector("#kw").send_keys(Keys.ENTER)
# 等待3秒退出浏览器进程
sleep(3)
driver.quit()

三、鼠标操作


同样,webdriver也提供了一整套鼠标操作方式,如:右击,双击,悬停,拖动等,使用前需要导入ActionChains类。

from selenium.webdriver.common.action_chains import ActionChains

ActionChains类提供了鼠标操作的常用方法:

  • perform():执行所有ActionChains中存储的行为
  • context_click():右击
  • double_click():双击
  • drag_and_drop:拖动
  • move_to_element():鼠标悬停

代码:

# coding = utf-8
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
# 驱动文件路径
driverfile_path = r'D:\coship\Test_Framework\drivers\chromedriver.exe'
# 启动浏览器
driver = webdriver.Chrome(executable_path=driverfile_path)
# 打开百度首页
driver.get(r'https://www.baidu.com/')
# 鼠标悬停在百度首页设置上
set = driver.find_element_by_link_text("设置")
ActionChains(driver).move_to_element(set).perform()
# 等待3秒退出浏览器进程
sleep(3)
driver.quit()

Selenium 元素常用操作方法(键盘和鼠标事件)的更多相关文章

  1. WPF之路-键盘与鼠标事件 - 简书

    原文:WPF之路-键盘与鼠标事件 - 简书 键盘事件 事件类型分为以下几个类型 生命周期事件:在元素加载与卸载的时候发生 鼠标事件:鼠标动作 键盘事件:键盘动作 手写笔事件:适用于win7以上的系统 ...

  2. winform中键盘和鼠标事件的捕捉和重写(转)

    在 编写winform应用程序时,有时需要无论在哪个控件获取焦点时,对某一个键盘输入或者鼠标事件都进行同样的操作.比如编写一个处理图片的应用程序时, 希望无论当前哪个控件获得焦点,当用户按上.下.左. ...

  3. winform中键盘和鼠标事件的捕捉和重写

    在编写winform应用程序时,有时需要无论在哪个控件获取焦点时,对某一个键盘输入或者鼠标事件都进行同样的操作.比如编写一个处理图片的应用程序时,希望无论当前哪个控件获得焦点,当用户按上.下.左.右键 ...

  4. cocos2d-x 键盘和鼠标事件

    出了菜单可以响应用户事件外,cocos2d中的层(Layer)也可以响应事件.层能够自动响应窗口事件,这些事件主要是键盘和鼠标事件,cocos2d中事件处理是通过Pyglet的事件处理完成的. 1.键 ...

  5. WPF嵌入Unity3D之后,unity3D程序的键盘和鼠标事件无法触发(3D程序的焦点无法激活)的解决方案

    目前最通用的客户端调用3D的方式,就是WPF程序通过Process启动Unity3D的exe进程,直接上代码: //开启3D进程 internal void Create3DProcess(strin ...

  6. 自动化测试-8.selenium操作元素之键盘和鼠标事件

    前言 在前面的几篇中重点介绍了一些元素的定位方法,定位到元素后,接下来就是需要操作元素了.本篇总结了web页面常用的一些操作元素方法,可以统称为行为事件 有些web界面的选项菜单需要鼠标悬停在某个元素 ...

  7. Selenium2+python自动化12-操作元素(键盘和鼠标事件)

    前言 在前面的几篇中重点介绍了一些元素的到位方法,到位到元素后,接下来就是需要操作元素了.本篇总结了web页面常用的一些操作元素方法,可以统称为行为事件 有些web界面的选项菜单需要鼠标悬停在某个元素 ...

  8. Selenium2学习(八)-- 操作元素(键盘和鼠标事件)

    前言 在前面的几篇中重点介绍了一些元素的到位方法,到位到元素后,接下来就是需要操作元素了.本篇总结了web页面常用的一些操作元素方法,可以统称为行为事件 有些web界面的选项菜单需要鼠标悬停在某个元素 ...

  9. Selenium2+python自动化12-操作元素(键盘和鼠标事件)【转载】

    前言 在前面的几篇中重点介绍了一些元素的到位方法,到位到元素后,接下来就是需要操作元素了.本篇总结了web页面常用的一些操作元素方法,可以统称为行为事件 有些web界面的选项菜单需要鼠标悬停在某个元素 ...

随机推荐

  1. Java最新学习线路(基础,源码,项目,实战)

    如需获取以下学习资源请关注公众号:Java编程指南 我们为自学者编程的或初学java的小伙伴们准备了一整套完整的学习资源和文章,还有我自己在自学路上的一些总结和学习线路,希望能帮到小伙伴们,如果有什么 ...

  2. P4962 朋也与光玉题解

    题目链接 光坂小镇是一个由 n 个点(编号为 1 ~ n),m 条有向边构成的图,每个节点上都有一个光玉,光玉共有 k 种,编号为 0 ~ k−1. 为了使一切改变,朋也需要找齐全部的 k种光玉.他可 ...

  3. 从入门到自闭之Python基础——函数初识

    1. 文件操作: 读操作: 格式:f = open("文件路径",mode = "r",encoding = "utf-8") f : 代表 ...

  4. django-xadmin使用

    django-xadmin使用基础环境为: PS:如下环境如需升级python则先升级python,然后安装django python3.6.4安装: http://www.cnblogs.com/c ...

  5. 项目常用的几个mysql函数

    1.find_in_set函数 find_in_set(str,strlist); str是一个字符串 strlist是字符串列表--一个有多个子链被“,”分开的字符串 有多种情况: a.str为nu ...

  6. 083、Prometheus架构(2019-05-05 周日)

    参考https://www.cnblogs.com/CloudMan6/p/7692765.html   Prometheus 是一个非常优秀的监控工具,准确的说,应该是监控方案.Prometheus ...

  7. laravel5.8 表单验证

    'name' => 'required|unique:posts|max:255', // posts 表名 源码  vendor\laravel\framework\src\Illuminat ...

  8. 基于双XCKU060+双C6678 的双FMC接口40G光纤传输加速计算卡

    基于双XCKU060+双C6678 的双FMC接口40G光纤传输加速计算卡 一.板卡概述 板卡采用基于双FPGA+双DSP的信号采集综合处理硬件平台,板卡大小360mmx217mm.板卡两片FPGA提 ...

  9. 二叉树中序遍历,先序遍历,后序遍历(递归栈,非递归栈,Morris Traversal)

    例题 中序遍历94. Binary Tree Inorder Traversal 先序遍历144. Binary Tree Preorder Traversal 后序遍历145. Binary Tre ...

  10. 负载均衡(三)Nginx的安装配置

    linux系统为Centos 64位 一.安装 [root@cuiqq local]# mkdir /usr/local/nginx [root@cuiqq local]# cd /usr/local ...