date:2018505+2018506 day05+06mor

一.安装环境

1.cmd→pip install selenium

2.将浏览器驱动放入X:\Python27下(如chromedriver.exe放入C:\Python27)(前提是已安装浏览器)

注:浏览器驱动要和浏览器版本相对应

二.Selenium基础

1.控制浏览器

2.查找元素

①.通过元素name方法查找——xxx.find_element_by_name('')

②.通过元素id方法查找——xxx.find_element_by_id('')

③.通过元素css样式方法查找——xxx.find_element_by_css_selector('')

④.通过元素xpath方法查找——xxx.find_element_by_xpath('')【选择代码块右键Copy→Copy Xpath】【长路径 单斜杠;短路径 双斜杠】【除了文本,一切xpath查找的属性前都要加@】

⑤.通过手动书写包含方法查找——xxx.find_element_by_xpath('//a[contains(text(),"")]')

⑥.通过class方法查找——xxx.find_element_by_class_name('')

⑦.通过link_text方法查找——xxx.find_element_by_link_text('')

⑧.同名元素处理——xxx.find_elements_by_XXX

3.selenium操作

①.智能等待——xxx.implicitly_wait(10)

②.消除原有数据——xxx.find_element_by_xpath('').clear()

③.退出 驱动浏览器退出——xxx.quit()

④.关闭当前窗口——xxx.close()

⑤.下拉框操作

#二次查找(先找父类,通过父类找到子元素):

#selenium封装的方法:先导入Select

⑥.获取文本

xxx.find_element_by_xpath().text

⑦.切换框架:xxx.switch_to.frame()

切除框架(切到默认框架):br.switch_to.default_concent()

⑧.鼠标操作:导入需要的库

⑨.弹窗

通知型

需要输入内容型

⑩.多窗口处理

⑪.键盘处理:导入库

⑫.浏览器前进、后退、刷新(封装好的内容,直接使用)

xxx.forward()

xxx.back()

xxx.refresh()

⑬.截图:

⑭.滚动条操作

同步:之前的事情做完了有结果,下件事才开始

br.execute_script()

异步:一起做事情,谁先做完返回结果

br.execute_async_script()

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#滑动到底部

js=“var q=document.body.scrollTop=1000”

#滑动到顶部

js=“var q=document.body.scrollTop=0”

#执行js语句

br.execute_script(js)

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#拖动元素到可见位置

ele=br.find_element_by_id('')

br.execute_script("arguments[0].scrollIntoView();",ele)

⑮.Selenium其他写法(不支持link_text)

br.find_element('id','')

Selenium·自动化基础的更多相关文章

  1. selenium自动化基础知识

    什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...

  2. selenium 自动化基础知识(各种定位)

    元素的定位 webdriver 提供了一很多对象定位方法  例如: [ id ] , name , class name , link text , partial link text , tag n ...

  3. 总结Selenium自动化测试方法(一)自动化测试基础

    总结Selenium自动化测试方法 一.自动化测试基础 1.什么样的项目适合自动化测试 ①任务测试明确,不会频繁变动 ②每日构建后的测试验证 ③比较频繁的回归测试 ④软件系统界面稳定.变动少 ⑤需要在 ...

  4. Selenium2学习-011-WebUI自动化实战实例-009-JavaScript 在 Selenium 自动化中的应用实例之一(赋值)

    通常在编写 Selenium 的 WebUI 自动化脚本时,有些元素不易定位元素,或有些元素为隐藏的(此时用 WebElement.getText() 获取其值的时候,返回的结果为空),对日常的 UI ...

  5. selenium自动化过程中如何操作Flash动画

    最近在看python的爬虫框架(scrapy),一个词概括就是:"酸爽"!等把selenium自动化版块讲完后,打算写一写关于scrapy相关的知识,打算从源码角度解析下scrap ...

  6. python+selenium自动化软件测试(第2章):WebDriver API

    2.1 操作元素基本方法 前言前面已经把环境搭建好了,从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可 ...

  7. Selenium IDE 基础使用教程

    Selenium IDE 基础使用教程 简介及安装 Selenium IDE 是一个易于使用的Firefox插件.它提供了一个图形用户界面,可进行脚本录制及导出.其记录的脚本可以被转换成多种编程语言( ...

  8. Selenium IDE 基础教程

    Selenium IDE 基础教程 1.下载安装     a 在火狐浏览其中搜索附件组件,查找 Selenium IDE     b 下载安装,然后重启firefox 2.界面讲解      在菜单- ...

  9. Python2.6.6执行selenium自动化

    系统类型: [root@bogon home]# uname -aLinux bogon 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 20 ...

随机推荐

  1. ubuntu kylin18 安装NVIDIA驱动

    这几天装系统快被折腾死了,事情的起因是这样的. 这件事情发生之前那两天一直在调试oled屏幕.我自己做转接板,1.3寸30针fpc的接口. 由于没有使用fpc专用转接座子,导致焊接特别困难,索性最后牺 ...

  2. Ansible 的初步使用

    在安装好ansible以后,首先使用ansible -h命令和ansible --version 命令查看帮助手册和版本信息. ansible 配置文件 ansible 的配置文件有多个位置,查找顺序 ...

  3. Unicode编码问题 如:\u529e\u7406\u9996\u6c7d\u52a0\u6cb9

    python 遇到\u529e\u7406\u9996\u6c7d\u52a0\u6cb9 解决方法: a = "\u529e\u7406\u9996\u6c7d\u52a0" b ...

  4. 学习requests_html

    一.获取页面上的所有链接. from requests_html import HTMLSession session=HTMLSession() r=session.get('https://new ...

  5. 配置SAP GUI FOR HTML(通过WEB方式登录)

    配置SAP GUI FOR HTML(通过WEB方式登录) SAP系统可以通过安装 SAP GUI.SAP GUI FOR JAVA.SAP GUI WEB FOR JAVA.SAP GUI FOR ...

  6. python中使用configparser库,实现配置文件的读取

    背景: 在写接口自动化框架,配置数据库连接时,测试环境和UAT环境的连接信息不一致,这时可以将连接信息写到conf或者cfg配置文件中 python环境请自行准备. python代码直接封装成类,方便 ...

  7. 使用Rancher的RKE快速部署Kubernetes集群

    简要说明: 本文共涉及3台Ubuntu机器,1台RKE部署机器(192.168.3.161),2台Kubernetes集群机器(3.162和3.163). 先在Windows机器上,将rke_linu ...

  8. 最长公共前缀(java实现)

    题目: 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow& ...

  9. mongodb笔记(三)

    1.删除文档(remove()函数) 在执行remove()函数前先执行find()命令来判断执行的条件是否正确,这是一个比较好的习惯. 语法: db.collection.remove( <q ...

  10. dedecms 模版里格式化时间标签

    <!--带时分秒--> [field:pubdate function="GetDateTimeMK(@me)"/] <!--只有日期--> [field: ...