selenium的web自动化实战
selenium自动化原理:
1.通过各种语言(python,java,ruby等)调用接口库
2.通过浏览器驱动(web driver)来驱动浏览器

利用Python自动化的环境安装:
1.python解释器与pycharm集成开发环境的安装---安装过程
2.客户端库的安装:打开cmd,输入:pip install selenium
3.安装浏览器与浏览器驱动(驱动下载至那里都行)
谷歌浏览器驱动下载地址:http://chromedriver.storage.googleapis.com/index.html
选择相应的系统,windows64位也可选win32.zip

自动化中的对象:
Webdriver实例对象(浏览器驱动对象-控制浏览器)
WebElement实例对象(浏览器元素对象)
python + selenium自动化实例:
实现前程无忧搜索深圳的测试工程师岗位,并抓取到控制台中:
#导入selenium
from selenium import webdriver #导入谷歌浏览器驱动赋值为driver
driver = webdriver.Chrome(r'H:\Pycharm\chromedriver.exe') #让驱动暂停10s,防止页面渲染未完成无法获取数据
driver.implicitly_wait(10) #通过驱动的get方法打开前程无忧官网
driver.get('http://www.51job.com') #通过id找到输入框并设置其内容为测试工程师
driver.find_element_by_id("kwdselectid").send_keys('测试工程师') #通过id找到城市选择的按钮并点击
driver.find_element_by_id("work_position_input").click()
#获取热门城市中每一个城市的em标签
cityEles = driver.find_elements_by_css_selector('#work_position_click_center_right_list_000000 em')
for city in cityEles:
cityName = city.text #打印城市名字
selected = city.get_attribute('class') =='on' #查看每个城市是否被选中
if (cityName == '深圳'and not selected) or (cityName !='深圳' and selected):
#如果深圳没被选择 或者 除深圳以外都被选中 则点击
city.click()
#获取确定按钮并点击
driver.find_element_by_id('work_position_click_bottom_save').click() #获取搜索按钮并点击
driver.find_element_by_css_selector('.ush button').click() #获取测试岗位信息的所有行
jobs = driver.find_elements_by_css_selector('#resultList div.el') #打印职位信息
for job in jobs:
filelds = job.find_elements_by_tag_name('span')
strField = [fileld.text for fileld in filelds]
print (' | '.join(strField))
driver.quit()
selenium的web自动化实战的更多相关文章
- 《Selenium+Pytest Web自动化实战》随到随学在线课程,零基础也能学!
课程介绍 课程主题:<Selenium+Pytest Web自动化实战> 适合人群: 1.功能测试转型自动化测试 2.web自动化零基础的小白 3.对python 和 selenium 有 ...
- 《Selenium+Pytest Web自动化实战》视频试听课程
环境准备 1.1 python3环境安装 1.2 selenium3和chrome环境 1.3 pycharm安装 webdriver API 2.1基本操作 2.2元素定位id_name_class ...
- 基于Selenium的Web自动化框架增强篇
在写完上一篇“基于Selenium的Web自动化框架”(http://www.cnblogs.com/AlwinXu/p/5836709.html)之后一直没有时间重新审视该框架,正好趁着给同事分享的 ...
- 【Selenium01篇】python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作!
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 二.话不多说,直接开干,开始搭建自动化测试环境 这里以前在 ...
- 【Selenium02篇】python+selenium实现Web自动化:鼠标操作和键盘操作!
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第二篇博 ...
- 【Selenium05篇】python+selenium实现Web自动化:读取ini配置文件,元素封装,代码封装,异常处理,兼容多浏览器执行
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第五篇博 ...
- 【Selenium06篇】python+selenium实现Web自动化:日志处理
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第六篇博 ...
- 【Selenium03篇】python+selenium实现Web自动化:元素三类等待,多窗口切换,警告框处理,下拉框选择
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第三篇博 ...
- 【Selenium04篇】python+selenium实现Web自动化:文件上传,Cookie操作,调用 JavaScript,窗口截图
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第四篇博 ...
随机推荐
- Django2.1 更新说明!
Django2.1版本发布时间:2018-8-1 一.Python兼容性 Django2.1只支持Python 3.5. 3.6和3.7以上版本.Django2.0是最后一个支持Python3.4及一 ...
- Python踩坑系列之安装pycrypto报错:“Microsoft Visual C++14.0 is required”问题。
由于要使用Python3实现des3加密要使用pycrypto模块,所以使用pip install pycrypto 来安装,然后就常规性掉坑.安装报错“Microsoft Visual C++14. ...
- Java四个关键字 this super final static
一.this 关键字主要有三个应用: this调用本类中的属性,也就是类中的成员变量: this调用本类中的其他方法: this调用本类中的其他构造方法初始化对象,调用时要放在构造方法的首行. 引 ...
- HTML引入JS、CSS的各种方法
直接上代码,相信大家是看得懂的,最好的办法是把代码粘过去,自己修改试试,看看效果! 上面是刚开始的执行效果,相应的html,js,css展示如下: index.html <!DOCTYPE ht ...
- Rails + Webpacker + Puma + Nginx 部署
准备 ssh 登录 首先 ssh 登录服务器,免密码登录可以参考 ssh 免密码登录服务器 创建部署用户 $ sudo adduser deploy 安装依赖 Ruby 这里使用 RVM 安装和管理 ...
- golang数据结构之利用栈求计算表达式(加减乘除)
例如:3+2*6-2 先定义两个栈,一个为数值栈,一个为运算符栈: stack.go package stack import ( "errors" "fmt" ...
- django--DateTimeField字段orm操作
django中的models.py是我们用来创建数据库里需要的表的,规定表中各个字段的类型,选择合适的字段类型尤为重要,常用的字段类型有:CharField.choice.IntegerField.T ...
- Jenkins登录后空白页
进入.jenkins所在的目录 编辑config.xml文件 重启jenkins
- Linux进程和计划任务实践
1.显示统计占用系统内存最多的进程,并排序. 方法一 [root@test ~]#ps aux --sort=%mem USER PID %CPU %MEM VSZ RSS TTY STAT STAR ...
- hibernate手动设置的id无效的原因与解决方法
在使用Hibernate的过程中,发现手动设置的id(主键)无效,Hibernate仍然会在保存(调用Hibernate提供的merge()方法)的时候自动生成一个随机的id. 经过调试发现问题出在了 ...