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自动化实战的更多相关文章

  1. 《Selenium+Pytest Web自动化实战》随到随学在线课程,零基础也能学!

    课程介绍 课程主题:<Selenium+Pytest Web自动化实战> 适合人群: 1.功能测试转型自动化测试 2.web自动化零基础的小白 3.对python 和 selenium 有 ...

  2. 《Selenium+Pytest Web自动化实战》视频试听课程

    环境准备 1.1 python3环境安装 1.2 selenium3和chrome环境 1.3 pycharm安装 webdriver API 2.1基本操作 2.2元素定位id_name_class ...

  3. 基于Selenium的Web自动化框架增强篇

    在写完上一篇“基于Selenium的Web自动化框架”(http://www.cnblogs.com/AlwinXu/p/5836709.html)之后一直没有时间重新审视该框架,正好趁着给同事分享的 ...

  4. 【Selenium01篇】python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作!

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 二.话不多说,直接开干,开始搭建自动化测试环境 这里以前在 ...

  5. 【Selenium02篇】python+selenium实现Web自动化:鼠标操作和键盘操作!

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第二篇博 ...

  6. 【Selenium05篇】python+selenium实现Web自动化:读取ini配置文件,元素封装,代码封装,异常处理,兼容多浏览器执行

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第五篇博 ...

  7. 【Selenium06篇】python+selenium实现Web自动化:日志处理

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第六篇博 ...

  8. 【Selenium03篇】python+selenium实现Web自动化:元素三类等待,多窗口切换,警告框处理,下拉框选择

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第三篇博 ...

  9. 【Selenium04篇】python+selenium实现Web自动化:文件上传,Cookie操作,调用 JavaScript,窗口截图

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第四篇博 ...

随机推荐

  1. [a0003] <创作> 全局视图索引

    100篇博文再考虑 需求: 包含随笔.转载文章,能够容易区分

  2. 26-限制容器对CPU的使用

    默认设置下,所有容器可以平等地使用 host CPU 资源并且没有限制. Docker 可以通过 -c 或 --cpu-shares 设置容器使用 CPU 的权重.如果不指定,默认值为 1024. 与 ...

  3. 单词倒序(java)

    如何将一串单词组成的字符串倒序呢?如:" we go to school" 变成"school to go we "java代码实现: public stati ...

  4. powershell之utf-8编码

    每次启动powershell后输入:chcp 65001

  5. 201871010133-赵永军《面向对象程序设计(java)》第一周学习总结

    <面向对象程序设计(java)>第一周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 ...

  6. AcWing 799. 最长连续不重复子序列

    网址  https://www.acwing.com/solution/AcWing/content/2069/ 题目描述给定一个长度为n的整数序列,请找出最长的不包含重复数字的连续子序列,输出它的长 ...

  7. Vue入门(二)

    1.vue3.0安装 cnpm install -g @vue/cli 或者 yarn global add @vue/cli //创建项目 vue create hello-world //运行 n ...

  8. Java并发编程:Java中的锁和线程同步机制

    锁的基础知识 锁的类型 锁从宏观上分类,只分为两种:悲观锁与乐观锁. 乐观锁 乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新 ...

  9. Ubuntu 16.04 安装 mujoco, mujoco_py 和 gym

    Mujoco (1)官网(https://www.roboti.us/license.html)注册 license,教育邮箱注册可以免费使用一年.注意:一个邮箱账号只能供一台主机使用. 填写个人信息 ...

  10. Shell脚本中的while getopts用法小结

    getpots是Shell命令行参数解析工具,旨在从Shell Script的命令行当中解析参数.getopts被Shell程序用来分析位置参数,option包含需要被识别的选项字符,如果这里的字符后 ...