一、webdriver的API与定位元素

元素定位核心部分
元素名称 webdriver API 说明
id find_element_by_id() id定位
name find_element_by_name() name定位
class name find_element_by_class_name() class_name定位
tag name find_element_by_tag_name()  
link text find_element_by_link_text() 精准定位
partial link text find_element_by_partial_link_text() 模糊定位
xpath find_element_by_xpath() xpath定位
css selector find_element_by_css_selector() css定位
元素操作方法
方法 说明
clear 清除元素内容
send_keys 模拟按键输入
click 点击
submit 提交表单

二、使用xpath定位元素

    1:XML路径语言:用来确定XML文档中某部分位置的语言;

2:XPath用于在XML文档中通过元素和属性进行导航

3:XPath是一个W3C标准

4:对xml/html有一定的了解

表达式 结果
/xxx 选取根节点xxx
/xxx/yyy 根据绝对路径选择元素
//xxx 整个文档扫描,找到所有xxx元素
//xxx/yyy 所有父元素为xxx的yyy元素
. 选取当前节点的父元素节点
.. 选取父元素地址
//xxx[@id] 选取所有xxx元素中有id属性的元素
//xxx[@id=yyy] 选取所有xxx元素id属性为yyy的元素
表达式 结果
//*[count(xxx)=2] 统计xxx元素个数=2的节点
//*[local-name()='xxx'] 找到tag为xxx的元素
//*[starts-with(local-name(),'x')] 找到所有tag以x开头的元素
//*[contains(local-name(),'x')] 找到所有tag包含x的元素
//*[string-length(local-name())=3] 找到所有tag长度为3的元素
//xxx|//yyy 多个路径查找

三、鼠标和键盘事件

ActionChains类与输入事件

1:from selenium.webdriver.common.action_chains import ActionChains

2:ActionChains(driver):用于生成模拟用户行为

3:perform():执行存储行为

鼠标事件
表达式 说明
context_click 右击事件
double_click 双击事件
drag_and_drop 拖动
move_to_element() 鼠标停留在一个元素上
click_and_hold 按下鼠标左键在一个元素上
键盘事件:send_keys()
from selenium.webdriver.common.keys import Keys
表达式 说明
send_kyes(Kyes.BACK_SPACE) 退格键
send_kyes(Kyes.CONTRL.'a') 全选
send_kyes(Kyes.CONTRL.'v') 粘贴
send_kyes(Kyes.CONTRL.'c') 复制
send_kyes(Kyes.CONTRL.'x') 剪切
send_kyes(Kyes.ENTER) 回车

selenium+python自动化笔记之一的更多相关文章

  1. selenium+python自动化98--文件下载弹窗处理(PyKeyboard)

    前言 在web自动化下载操作时,有时候会弹出下载框,这种下载框不属于web的页面,是没办法去定位的(有些同学一说到点击,脑袋里面就是定位!定位!定位!) 有时候我们并不是非要去定位到这个按钮再去点击, ...

  2. selenium+python自动化79-文件下载(SendKeys)

    前言 文件下载时候会弹出一个下载选项框,这个弹框是定位不到的,有些元素注定定位不到也没关系,就当没有鼠标,我们可以通过键盘的快捷键完成操作. SendKeys库是专业的处理键盘事件的,所以这里需要用S ...

  3. selenium+python自动化登录脚本

    利用selenium+python写的一个关于登录的自动化脚本

  4. 【python-excel】Selenium+python自动化之读取Excel数据(xlrd)

    Selenium2+python自动化之读取Excel数据(xlrd) 转载地址:http://www.cnblogs.com/lingzeng86/p/6793398.html ·········· ...

  5. selenium+python自动化102-登录页面滑动解锁(ActionChains)

    前言 登录页面会遇到滑动解锁,滑动解锁的目的就是为了防止别人用代码登录(也就是为了防止你自动化登录),有些滑动解锁是需要去拼图这种会难一点. 有些直接拖到最最右侧就可以了,本篇讲下使用 seleniu ...

  6. selenium+python自动化100-centos上搭建selenium启动chrome浏览器headless无界面模式

    环境准备 前言 selenium在windows机器上运行,每次会启动界面,运行很不稳定.于是想到用chrome来了的headless无界面模式,确实方便了不少. 为了提高自动化运行的效率和稳定性,于 ...

  7. selenium+python自动化之元素定位

    自动化按步骤拆分的话,可以分为四步操作:定位元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.本篇接下来讲基本的八种元素定位方法.说的通俗一点,就是教大家找对象. ...

  8. selenium+python自动化之操作浏览器

    一.打开网站 1.第一步:从selenium里面导入webdriver模块 2.打开Firefox浏览器(Ie和Chrome对应下面的) 3.打开百度网址 二.设置休眠 1.由于打开百度网址后,页面加 ...

  9. selenium+python自动化之环境安装

    一.Python安装 1.操作系统:win7 64位系统 2.下载Python安装包,选择2.7版本和3.6版本都可以(最好安装2.7版本稳定)官网下载地址:https://www.python.or ...

随机推荐

  1. 从零开始学 Web 之 jQuery(六)为元素绑定多个相同事件,解绑事件

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  2. C++模板的应用

    需求:类比数组类,只不过数组类型不再是整型.浮点型等,也可以是类. 1.创建模板类 头文件 #ifndef MYVECTOR_H #define MYVECTOR_H #include <ios ...

  3. ContentProvider使用总结

    近日来学习ContentProvider相关的知识,做了一个demo,想和网友分享下. 首先说一点相关的知识: 一:作用 ContentProvider是不同应用程序共享数据的接口,跟共享数据的别的方 ...

  4. 自己动手实现java数据结构(四)双端队列

    1.双端队列介绍 在介绍双端队列之前,我们需要先介绍队列的概念.和栈相对应,在许多算法设计中,需要一种"先进先出(First Input First Output)"的数据结构,因 ...

  5. MySQL 进阶之索引

    一,索引前传 在了解数据库索引之前,首先有必要了解一下数据库索引的数据结构基础,那么什么样的数据结构可以作为索引呢? B-tree是最常用的用于索引的数据结构.因为它们是时间复杂度低, 查找.删除.插 ...

  6. 搭建前端监控系统(二)JS错误监控篇

    ===================================================================== 前端性能监控系统: DEMO地址    GIT代码仓库地址 ...

  7. [EOJ439] 强制在线

    Description 见EOJ439 Solution 先考虑不强制在线怎么做. 按询问区间右端点排序,从左往右扫,维护所有后缀的答案. 如果扫到 \(a[i]\),那么让统计个数的 \(cnt[a ...

  8. 数字证书及CA介绍

    数字证书及CA介绍 作者: 编程随想  发布时间: 2013-12-03 11:48  阅读: 95280 次  推荐: 69   原文链接   [收藏]   ★ 先说一个通俗的例子 考虑到证书体系的 ...

  9. 解决SharePoint 2010拒绝访问爬网内容源错误

    今天发现SP爬网出现了问题,持续时间蛮长的,一直爬不到内容. 解决方案: 这里有一条解决在SharePoint 2010搜索爬网时遇到的"拒绝访问错误"的小技巧. 首先要检查默认内 ...

  10. mvc导出excel记录

    前言: 记录这篇使用记录,是为了方便以后学习查阅和让没有使用过的人了解一下,其中不足还请见谅.不是很全的文章,大神请绕行.在项目中我们或多或少的会遇到数据导出到excel表格以便线下查看或者记录一些需 ...