iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python selenium系列(三)
  • 571
分享到

python selenium系列(三)

系列pythonselenium 2023-01-31 03:01:00 571人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

一 前言开展WEB UI自动化的核心思路,无非就是找到元素,然后操作元素这两个内容。在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节。

 

 

 


--结束END--

本文标题: python selenium系列(三)

本文链接: https://www.lsjlt.com/news/187335.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • python selenium系列(三)
    一 前言开展WEB UI自动化的核心思路,无非就是找到元素,然后操作元素这两个内容。在python selenium系列(二)元素定位方式一文中,已经介绍了如何找到元素这项技能,本文将介绍第二项内容,即如何操作已经找到的元素。 二 操作方法...
    99+
    2023-01-31
    系列 python selenium
  • python selenium系列(一)
    一  selenium是什么?引用百度百科的介绍selenium的一段话:“Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10...
    99+
    2023-01-31
    系列 python selenium
  • python selenium系列(四)
    一 前言在前面的selenium系列(二)元素定位方式和selenium系列(三)常用操作类型及方法两节中,已经介绍了web页面元素的识别定位、操作等技术,可能你会觉得掌握这两项技术就可以实施web自动化了,答案基本是这样的,毕竟元素定位和...
    99+
    2023-01-31
    系列 python selenium
  • python selenium系列(11
    一 前言Selenium系列文章已经基本涵盖了主要的知识点,至于PO模式,发现有篇文章写的挺好的,后续转载分享过来,哈哈。Python Web UI自动化技术就要告一段落了,接下来打算写Django Web开发相关的文章,希望有兴趣的同学可...
    99+
    2023-01-31
    系列 python selenium
  • python selenium系列(五)
    一 前言提起断言,接触过软件测试相关工种的同学们,一定不会陌生。比如,功能测试/自动化测试判断用例是否通过,靠的就是检查测试结果与预期是否一致;稍微不同的是,功能测试的结果检查是由人工完成的,而自动化测试是通过预先把期望结果写入脚本,并与实...
    99+
    2023-01-31
    系列 python selenium
  • python selenium系列(二)
    一 前言元素定位,是操作元素的第一步,也是WebUI自动化的难点和核心。 二 元素定位方法selenium提供了内置的方法完成对待操作元素的定位,主要分为8类,其中,每类又可细分为定位单个元素和定位多个元素,另外还提供了2个私有方法。详细如...
    99+
    2023-01-31
    系列 python selenium
  • python系列(三)python列表详
    博主QQ:819594300博客地址:http://zpf666.blog.51cto.com/有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持!本博文阅读目录:1)len函数//查看列表的个数2)序列[索引号] //查看索引号对应...
    99+
    2023-01-31
    系列 列表 python
  • python django系列(三)
    数据库,里面有各种宝贝,一个没有数据库的网站,提供的功能非常有限连接数据库mysql是最常用的数据库,这里将django和mysql连接。安装:easy_install MySQL-python 或 pip install MySQL-p...
    99+
    2023-01-31
    系列 python django
  • Python selenium的三种等待
    1、第一种是强制等待,也就是说,无论怎么样都要进行调用简单代码如下:from time import sleep sleep(3)#强制等待3秒2、第二种是隐形等待,隐形等待是设置了一个最长等待时间,如果在规定时间内网页加载完成,则执行下一...
    99+
    2023-01-31
    三种 Python selenium
  • python第三方库系列之一--json
    认真生活每一天,认真敲好每一行代码,为了未来的小公主,好好学习,天天向上~ 一、先讲讲json的出现,就要先讲讲序列化     1. 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格...
    99+
    2023-01-31
    第三方 系列 python
  • python爬虫系列三:html解析大法
    Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库。 它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式。 在爬虫开发中主要用的是Beautiful Soup的查...
    99+
    2023-01-31
    爬虫 大法 系列
  • 【Thunder送书 | 第三期 】「Python系列丛书」
    文章目录 前言《Python高效编程——基于Rust语言》《Python从入门到精通》《Python Web深度学习》《Python分布式机器学习》文末福利 | 赠书活动 前言 ...
    99+
    2023-09-01
    python rust 开发语言
  • python selenium redis队列提高效率
    爬虫架构流程图(基于生产者消费模型)整个程序被解耦成两部分:(先进先出,后进先出)1  数据生产者  页面解析(获取url,title,状态码,图片地址,文本信息等等....) 使用(lpush或rpush,看需求而定)...
    99+
    2023-01-30
    队列 提高效率 python
  • Python 的Tkinter包系列之三:Canvas(画布)
    Python 的Tkinter包系列之三:Canvas(画布) Tkinter 的Canvas(画布)控件具有两个功能,首先它可以用来绘制各种图形(图片),比如直线、弧形、椭圆形、多边形和矩形等,也可以在上面放置图片(graphics)、...
    99+
    2023-10-24
    python 开发语言
  • Django 系列博客(三)
    前言 本篇博客介绍 django 的前后端交互及如何处理 get 请求和 post 请求。 get 请求 get请求是单纯的请求一个页面资源,一般不建议进行账号信息的传输。 配置路由 from django.conf.urls impo...
    99+
    2023-01-30
    系列 博客 Django
  • 【数模系列】02_三大相关系数+Python代码
    文章目录 一、皮尔逊相关系数1、公式推导2、使用条件3、Python绘图 二、斯皮尔曼秩相关系数1、如何选择皮尔逊和斯皮尔曼 三、肯德尔秩相关系数 一、皮尔逊相关系数 在统计学中,...
    99+
    2023-09-18
    python
  • Django 系列博客(十三)
    前言 本篇博客介绍 Django 中的常用字段和参数。 ORM 字段 AutoField int 自增列,必须填入参数 primary_key=True。当 model 中如果没有自增列,则会自动创建一个列名为 id 的列。 Integ...
    99+
    2023-01-30
    系列 博客 Django
  • python列表、元组(三)
    一、列表1. 创建列表>>> name = ['gao', 'sam', 'snow', 'jey'] >>> type(name) <type 'list'> >>> na...
    99+
    2023-01-31
    列表 python
  • 【Python】Python进阶系列教程-- Python3 MySQL - mysql-connector 驱动(三)
    文章目录 前言创建数据库连接创建数据库创建数据表主键设置 插入数据批量插入查询数据where 条件语句排序Limit删除记录更新表数据删除表 前言 往期回顾: Python进...
    99+
    2023-09-16
    python mysql 开发语言
  • MySQL系列之三 基础篇
    目录系列教程一、MySQL简介二、MySQL的发展历史三、MariaDB的基本使用1、基本安装与配置2、客户端命令:mysql3、其他客户端工具4、安全加强脚本 mysql_secu...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作