Python + Selenium WebDriver

Python + Selenium WebDriver

一、搭建环境步骤

1、安装 python3.x (windows xp 不支持 python3.5+)
2、设置环境变量 path(安装时候也可以解决 勾上 add python.ext to path)
3、安装Selenium 用pip命令安装 pip install -U selenium
4、路径,pip可能定位不到,pip也可能定位到别的文件夹(perl)
方案:cd c:\python34\scripts
5、windows 7 x64以上的系统,需要用管理员模式运行cmd,否则会安装失败。

二、定位方式

by id, name, class_name, tag_name, css_selector, xpath, link_text, partial_link_text
常用的 是 id,name, css_selector, xpath, link_text

Selenium 基本使用

Python + Selenium 环境搭建

1、安装Python,3.x(3.4 3.5 3.6)
2、注意:环境变量path
3、需要添加 "C:\Python34;C:\Python34\Scripts;"到Path
4、步骤:右键 我的电脑 属性 | 高级系统设置 | 环境变量
找 系统变量 | Path 并 双击 | Ctrl+C | 编辑 | Ctrl+V安装 Selenium
cmd | pip install -U selenium

U = --upgrade 升级安装

类似于linux命令

command -x param

容易出现的问题

1、环境变量cd C:\Python34\Scripts再安装
2、管理员权限-右键 管理员方式运行

WebDriver的基本使用

1、实例化一个WebDriver的对象(使用默认的火狐浏览器 v46或者以下)
driver = webdriver.Firefox( )
***注意,一定要写括号,代表实例化对象

2、打开网址
driver.get(“https://cn.bing.com/”)

3、查找元素
用id : driver.find_element_by_id(“account”)
用name: driver.find_element_by_name(“password”)
用xpath css_selector

4、对元素的操作
clear()
click()
send_keys()
使用python的休眠,给浏览器留出时间加载页面
sleep(2)

5、关闭退出chrome
driver.quit()

selenium WebDriver的进阶操作

1、定位方式的使用(css_selector)方法调用:
driver.find_element_by_css_selector("#langs > button")
CSS3种选择器:
1、id: 使用#+id
2、tag: 使用tag
3class: 使用.+class

CSS selector的获取

可以使用f12,定位的元素,右键 | 复制 selector(复制CSS路径)
1、Chrome使用了相对路径 #langs > button

class_name
通过 class定位元素,必须保持 class唯一,否则定位会失败

driver.find_element_by_class_name(“btn”)
link_text 和 partial_link_text

文字选择正确就行了
xpath

chrome内核的开发者工具,复制的是相对的xpath
firefox内核的开发者工具(firebug),复制的绝对的xpath

select

select定位有个前提,元素标签必须是 select

需要3步骤:

  1. 找到 select 的元素,赋值给变量 dept_select
  2. 实例化 dept_select 为 Select()的对象 为 user_adding_dept
  3. 调用 user_adding_dept 的方法 select_by_index()给元素赋值
    示例代码

找到 select 的元素,赋值给变量 dept_select

dept_select = driver.find_element_by_id(“dept”)

实例化 dept_select 为 Select()的对象 为 user_adding_dept

user_adding_dept = Select(dept_select)

清除 cookie

在打开浏览器的时候,需要清理cookie。

from selenium import webdriver
  
driver = webdriver.chrome()
driver.delete_all_cookies()
driver.get("...")

封装WebDriver

1、避免第三方代码的威胁,防止大批量修改测试用例
2、节约人力的成本(如果封装以后,不需要每个自动化测试工程师都会WebDriver)
3、标准化自动化用例的操作,只需要调用公共的标准模块就好。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值