一、环境配置

  1. Chromedriver 下载及环境配置
  • url:使用WebDriver在Chrome浏览器上进行测试时,需要从http://chromedriver.storage.googleapis.com/index.html网址中下载与本机chrome浏览器对应的驱动程序,驱动程序名为chromedriver;
  • 解压chromedriver,并将其mv 到/usr/local/bin下(目录下必须要有对应版本的driver);
  1. 安装selenium:执行 python -m pip install selenium

二、简单的 python 程序

  • 示例1:find_element_by_id()方法
# coding = utf-8
from selenium import webdriver
from time import sleep, ctime
import os driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("MacOS")
driver.find_element_by_id("su").click()
sleep(5)
driver.quit()
  • 示例2: (ffind_element_by_xpath()方法)
# coding = utf-8
from selenium import webdriver
from time import sleep, ctime
import os driver = webdriver.Chrome()
driver.get("https://dblp.uni-trier.de/search/")
driver.find_element_by_xpath('//*[@id="completesearch-form"]/input').send_keys(" zhou zhihua") sleep(5) driver.find_element_by_xpath('//*[@id="completesearch-authors"]/div/ul/li/a').click() sleep(15) driver.quit()

三、 webdriver 的一些用法

  • 定位方法:selenium总共有八种定位方法
  1. By.id() 通过id定位
  2. By.name() 通过name 定位
  3. By.xpath() 通过xpath定位
  4. By.className() 通过className定位
  5. By.cssSelector() 通过CSS 定位
  6. By.linkText() 通过linkText
  7. By.tagName() 通过tagName
  8. By.partialLinkText() 通过匹到的部分linkText
  • Chrome 元素查找
  1. 打开开发者工具

  2. 移动到对应元素上。注意,寻找 Browser中对应的高亮提示(如下图1),实际上是在开发者工具Elements 视图上移动光标行(图2)



    图1 浏览器中高亮提示(随开发者工具 Elements 视图中光标行的移动)

  3. 右键copy 元素 xpath 或其他定位参数



    图2 移动源代码中光标行(寻找需要定位的元素)

  4. paste 到脚本中

Web测试入门:Selenium+Chrome+Python+Mac OS的更多相关文章

  1. python3 web测试模块selenium

    selenium是一个用于web应用程序测试工具,selenium测试直接运行在浏览器中,就像真正的用户在操作一样,支持的浏览器包括IE(7,8,9,10,11),mozilla firefox,sa ...

  2. python自动化测试应用-第6篇(WEB测试)--Selenium元素篇

    篇6                            python自动化测试应用-Selenium基础篇 --lamecho 1.1概要 大家好!我是lamecho(辣么丑),上一篇我们搭建好p ...

  3. python自动化测试应用-第7篇(WEB测试)--Selenium进阶篇

    篇7                            python自动化测试应用-Selenium进阶篇 --lamecho 1.1概要 大家好!我是lamecho(辣么丑),本篇文章将是我们介 ...

  4. Linux配置Selenium+Chrome+Python

    ---恢复内容开始--- 最近一个月没有更新博客了.最近都在复习LINUX与PYTHON知识.决定以后在LINUX环境下学习新知识. 包括后期的框架学习与平台知识方面. 直接记录今天下午的学习成果. ...

  5. 【转】 web 测试使用的chrome插件

    1.二维码插件 https://chrome.google.com/webstore/detail/%E4%BA%8C%E7%BB%B4%E7%A0%81qr%E7%A0%81%E7%94%9F%E6 ...

  6. Selenium自动化测试Python一:Selenium入门

    Selenium入门 欢迎阅读Selenium入门讲义,本讲义将会重点介绍Selenium的入门知识以及Selenium的前置知识. 自动化测试的基础 在Selenium的课程以前,我们先回顾一下软件 ...

  7. 浩若烟海事半功倍|利用Docker容器技术构建自动化分布式web测试集群Selenium Grid

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_195 "世界上有那么多城市,城市里有那么多的酒馆,可她,却偏偏走进了我的-",这是电影<卡萨布拉卡> ...

  8. MAC OS环境下搭建基于Python语言的Selenium2自动化测试环境

    #1安装Python Mac OS上自带python2.7,在此介绍安装python3.x版本 去官网下载Python for MAC版本 https://www.python.org 安装文件为pk ...

  9. Web测试Selenium:如何选取元素

    Web测试工具Selenium:如何选取元素 2009-02-17 23:23 by 敏捷的水, 5372 阅读, 22 评论, 收藏, 编辑 selenium是一个非常棒的Web测试工具,他对Aja ...

随机推荐

  1. SpringBoot@GeneratedValue 四种参数

    按照大家学习SpringBoot的经验来看, SpringBoot的@GeneratedValue 是不需要加参数的,但是如果数据库控制主键自增(auto_increment), 不加参数就会报错.( ...

  2. sortable.js 拖拽排序及配置项说明

    // 拖动排序 $(function() { /*排序*/ //排序 // Simple list ]; new Sortable(list, { group: "name", a ...

  3. python单元测试框架unittest总结

    unittest.TestCase:TestCase类,所有测试用例类继承的基本类. class BaiduTest(unittest.TestCase): TestCase类的属性如下: setUp ...

  4. Zabbix (三)

    一.zabbix支持的主要监控方式: zabbix主要Agent,Trapper,SNMP,JMX,IPMI这几种监控方式,本文章主要通过监控理论和实际操作测试等方式来简单介绍这几种方式的监控原理和优 ...

  5. 提取Jar2Exe源代码,JavaAgent监控法

    最近遇见一个麻烦,明明知道是java写的小软件,但是打包成了exe,木得办法,之前打包的都有缓存能在TEMP文件夹找到.这次可不一样了,特此记录一下. 为此特地搜集了一些java打包成exe的软件. ...

  6. javascript 总结(常用工具类的封装)

    1. type 类型判断 isString (o) { //是否字符串 return Object.prototype.toString.call(o).slice(8, -1) === 'Strin ...

  7. kafka写入hdfs

    碰到的问题 (1)线程操作问题,因为单机节点,代码加锁就好了,后续再写 (2) 消费者写hdfs的时候以流的形式写入,但是什么时候关闭流就是一个大问题了,这里引入了   fsDataOutputStr ...

  8. Vue+localstrong登录注册,并保持登录状态

    在router.js中添加meta区分 比如登录注册页面,不需要登录即可进入,那么我们把meta中的isLogin标志设置为false { //登录 path: '/login', component ...

  9. vue v-if 和 v-show 的知识点

    1.v-if 的特点: 实现方式:根据后面数据的真假判断是否重新删除或创建元素. 性能消耗:有较高的切换性能消耗. 编译过程:v-if 切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的 ...

  10. 接口管理工具——阿里RAP

    1.阿里官网RAP a.进入官网 http://rapapi.org/org/index.do b.项目创建:创建 团队 —— 创建 产品线 —— 创建 分组 —— 创建 项目 c.然后就可以创建 页 ...