我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python selenium系列(三)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python selenium系列(三)

一 前言

开展WEB UI自动化的核心思路,无非就是找到元素,然后操作元素这两个内容。在python selenium系列(二)元素定位方式一文中,已经介绍了如何找到元素这项技能,本文将介绍第二项内容,即如何操作已经找到的元素。


 

二 操作方法分类

总体来说,可以将操作大体分成四类,即浏览器操作、键盘操作、鼠标操作、js脚本


1.  浏览器常用操作方法:

方法

描述

driver.maximize_window()

窗口最大化

driver.back()

页面返回

driver.forward()

页面前进

 

2.  键盘常用操作方法:

send_keys() # Keys 模拟键盘输入;模拟键盘按键、组合键等

部分key 列举如下:

ALT= u'\ue00a'

ARROW_DOWN= u'\ue015'

ARROW_LEFT= u'\ue012'

ARROW_RIGHT= u'\ue014'

ARROW_UP= u'\ue013'

BACKSPACE= u'\ue003'

BACK_SPACE= u'\ue003'

CANCEL= u'\ue001'

CLEAR= u'\ue005'

COMMAND= u'\ue03d'

CONTROL= u'\ue009'

 

3.  鼠标常用操作方法:

click() # 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)

发送某个键到指定元素

 

4.  调用js脚本:

execute_script  #执行js脚本完成特定操作

 

三 操作实战举例

1.      浏览器操作实例

111.png

2.      键盘操作实例

222.png

3.      鼠标操作实例

333.png

4.      脚本操作实例

444.png

 

额外知识点补充

ActionChains(browser).double_click(click_button).perform() #鼠标双击操作举例

在鼠标操作中,注意到ActionChains(driver).method,当调用该方法时,动作不会立即被执行,而是会将所有的操作按顺序存放在一个队列里,当调用perform()方法时,队列中的时间会依次执行,所以使用鼠标操作时,最后需要调用perform()方法完成动作的执行。

 

其他资源

关于python selenium元素常用操作方法的视频讲解,请参看:http://i.youku.com/weiworld521 第 26节。

 

 

 


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python selenium系列(三)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python selenium系列(三)

一 前言开展WEB UI自动化的核心思路,无非就是找到元素,然后操作元素这两个内容。在python selenium系列(二)元素定位方式一文中,已经介绍了如何找到元素这项技能,本文将介绍第二项内容,即如何操作已经找到的元素。 二 操作方法
2023-01-31

python selenium系列(五)

一 前言提起断言,接触过软件测试相关工种的同学们,一定不会陌生。比如,功能测试/自动化测试判断用例是否通过,靠的就是检查测试结果与预期是否一致;稍微不同的是,功能测试的结果检查是由人工完成的,而自动化测试是通过预先把期望结果写入脚本,并与实
2023-01-31

python selenium系列(四)

一 前言在前面的selenium系列(二)元素定位方式和selenium系列(三)常用操作类型及方法两节中,已经介绍了web页面元素的识别定位、操作等技术,可能你会觉得掌握这两项技术就可以实施web自动化了,答案基本是这样的,毕竟元素定位和
2023-01-31

python selenium系列(11

一 前言Selenium系列文章已经基本涵盖了主要的知识点,至于PO模式,发现有篇文章写的挺好的,后续转载分享过来,哈哈。Python Web UI自动化技术就要告一段落了,接下来打算写Django Web开发相关的文章,希望有兴趣的同学可
2023-01-31

python selenium系列(一)

一  selenium是什么?引用百度百科的介绍selenium的一段话:“Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10
2023-01-31

python selenium系列(二)

一 前言元素定位,是操作元素的第一步,也是WebUI自动化的难点和核心。 二 元素定位方法selenium提供了内置的方法完成对待操作元素的定位,主要分为8类,其中,每类又可细分为定位单个元素和定位多个元素,另外还提供了2个私有方法。详细如
2023-01-31

python系列(三)python列表详

博主QQ:819594300博客地址:http://zpf666.blog.51cto.com/有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持!本博文阅读目录:1)len函数//查看列表的个数2)序列[索引号] //查看索引号对应
2023-01-31

python django系列(三)

数据库,里面有各种宝贝,一个没有数据库的网站,提供的功能非常有限连接数据库mysql是最常用的数据库,这里将django和mysql连接。安装:easy_install MySQL-python 或pip install MySQL-py
2023-01-31

Python selenium的三种等待

1、第一种是强制等待,也就是说,无论怎么样都要进行调用简单代码如下:from time import sleep sleep(3)#强制等待3秒2、第二种是隐形等待,隐形等待是设置了一个最长等待时间,如果在规定时间内网页加载完成,则执行下一
2023-01-31

python第三方库系列之一--json

认真生活每一天,认真敲好每一行代码,为了未来的小公主,好好学习,天天向上~一、先讲讲json的出现,就要先讲讲序列化    1. 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是
2023-01-31

Python selenium 三种等待方式解读

发现太多人不会用等待了,博主今天实在是忍不住要给大家讲讲等待的必要性。 很多人在群里问,这个下拉框定位不到、那个弹出框定位不到…各种定位不到,其实大多数情况下就是两种问题:1 有frame,2 没有加等待。殊不知,你的代码运行速度是什么量级
2022-06-04

python selenium redis队列提高效率

爬虫架构流程图(基于生产者消费模型)整个程序被解耦成两部分:(先进先出,后进先出)1 数据生产者 页面解析(获取url,title,状态码,图片地址,文本信息等等....) 使用(lpush或rpush,看需求而定)往reids队列中存数据
2023-01-30

python爬虫系列三:html解析大法

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库。 它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式。 在爬虫开发中主要用的是Beautiful Soup的查找提取功能。
2023-01-31

Django 系列博客(三)

前言本篇博客介绍 django 的前后端交互及如何处理 get 请求和 post 请求。get 请求get请求是单纯的请求一个页面资源,一般不建议进行账号信息的传输。配置路由from django.conf.urls import urlf
2023-01-30

Python selenium 三种等待方式详解(必会)

很多人在群里问,这个下拉框定位不到、那个弹出框定位不到…各种定位不到,其实大多数情况下就是两种问题:1 有frame,2 没有加等待。殊不知,你的代码运行速度是什么量级的,而浏览器加载渲染速度又是什么量级的,就好比闪电侠和凹凸曼约好去打怪兽
2022-06-04

python列表、元组(三)

一、列表1. 创建列表>>> name = ['gao', 'sam', 'snow', 'jey']>>> type(name)>>> name=list(['gao', 'sam', 'snow', 'jey'
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录