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
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。
from selenium import webdriver
driver = webdriver.chrome()
driver.delete_all_cookies()
driver.get("...")
封装WebDriver
1、避免第三方代码的威胁,防止大批量修改测试用例
2、节约人力的成本(如果封装以后,不需要每个自动化测试工程师都会WebDriver)
3、标准化自动化用例的操作,只需要调用公共的标准模块就好。
Python + Selenium WebDriver相关推荐
- Python Selenium Webdriver常用方法总结
Python Selenium Webdriver常用方法总结 常用方法函数 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() 最大化窗口: m ...
- Python Selenium.WebDriver 最强详解页面加载策略
Python Selenium.WebDriver 网页加载策略『详细』 文章目录 Python Selenium.WebDriver 网页加载策略『详细』 一.网页加载策略
- python+selenium+webdriver 截取全页面长图
有的时候我们要截取整个页面,而不是当前的屏幕. python+selenium+webdriver 截取全页面长图: from selenium import webdriver import tim ...
- Python+Selenium.webdriver实现WEB端UI自动化测试(实例脚本)
本篇记录基于Python+Selenium.webdriver实现WEB端UI自动化测试,其中测试用例使用excel维护.为了在实际项目种的扩展应用,建议学习webdriver的元素定位方法,欢迎在评 ...
- Python Selenium.WebDriver 判断元素是否存在
Python Selenium.WebDriver 判断元素是否存在 文章目录 Python Selenium.WebDriver 判断元素是否存在 一.判断元素是否存在 二.异常捕获 三.多元素捕获 ...
- Python Selenium.WebDriver清除输入框再输入『详解』
Python Selenium.WebDriver 清除输入框再输入『详解』 文章目录 Python Selenium.WebDriver 清除输入框再输入『详解』 一.如何清除输入框中的默认内容 二 ...
- Python Selenium.WebDriver 对Cookies的处理及应用『模拟登录』
Python Selenium.WebDriver 对Cookies的处理及用途『模拟登录』 文章目录 Python Selenium.WebDriver 对Cookies的处理及用途『模拟登录』 一 ...
- python中webdriver_Linux上部署python+selenium+webdriver常见问题解决方案
折腾了几天的WechatScraper终于部署到Linux服务器上能生产使用了 用篇文章来记录下部署过程中遇到的各种bug和坑. 1. 运行问题 webdriver在有GUI界面的系统上运行是只需要下 ...
- js下拉 selenium_如何使用Python / Selenium webdriver处理Angularjs / Javascript下拉列表?
我想在Chromium浏览器上使用 Python和Selenium webdriver自动执行一些浏览器任务.我的python脚本已经能够登录,导航到子页面/做一些点击,并在表单中插入一些东西. 我的 ...
最新文章
- win10 系统安装 服务器失败怎么回事,Win10正式版安装出现问题怎么办
- 安全是一个系统问题包括服务器安全,信息安全技术题库:信息泄露对于Web服务器的危害在于( )。...
- 使用layer7应用层过滤功能
- linux ftp查看用户目录权限,linux 指定ftp用户 特定目录及权限
- Docker——Docker Compose
- svn回退后如何再还原_设计师如何管理自己的文档
- 2011年至2019年制造的 AMD 处理器均易受两种新型攻击
- 性能优化篇 - Performance(工具 api)
- Java开发微信公众号
- 通达信服务器在哪个文件里,通达信“指标模块”存放在哪个文件夹里
- Java二叉树数据结构原理
- java适合音频格式_我应该为java使用什么音频格式?
- 树莓派如何重新装Linux系统,如何给树莓派Raspberry重新安装修复操作系统
- c语言中关键字中文的发音,c语言里面的32个关键字发音
- NVIDIA Jetson Xavier通过JetPack 4.1刷机教程(虚拟机版)
- 系统集成项目管理工程师10大管理
- linux下vi编辑器方向键变成字母的解决方法
- 视频格式转换器哪个好?怎样使用?
- 打包安卓apk后的V1和V2签名
- JAVA“三大护法”—JVM、JRE、JDK
热门文章
- 2022年中级会计实务考练习真题及答案
- 泰凌微 Telink TLSR825X Printf gpio 模拟 串口 打印信息 log
- 解读 Data Augmentation using Random Image Cropping and Patching for Deep CNNs
- 修复ubuntu引导
- Docker常见问题处理
- MT8516源码编译问题mDNSResponder-320.10.80 fetcher failure
- 如何利用input标签添加语音录入功能
- SpringBoot HATEOAS用法简介
- javaScript系列 [05]-javaScript和JSON
- 安装gnome-screenshot截图工具