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
容易出现的问题

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")CSS的3种选择器:1、id: 使用#+id
2、tag: 使用tag3、class: 使用.+class
Python + Selenium WebDriver_第1张图片
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步骤:

找到 select 的元素,赋值给变量 dept_select
实例化 dept_select 为 Select()的对象 为 user_adding_dept
调用 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)
1
清除 cookie 

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

Python + Selenium WebDriver_第2张图片

 

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

Python + Selenium WebDriver_第3张图片
封装WebDriver

 

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

 

你可能感兴趣的:(数据库开发,python)