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相关推荐

  1. Python Selenium Webdriver常用方法总结

    Python Selenium Webdriver常用方法总结 常用方法函数 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() 最大化窗口: m ...

  2. Python Selenium.WebDriver 最强详解页面加载策略

    Python Selenium.WebDriver 网页加载策略『详细』 文章目录 Python Selenium.WebDriver 网页加载策略『详细』 一.网页加载策略

  3. python+selenium+webdriver 截取全页面长图

    有的时候我们要截取整个页面,而不是当前的屏幕. python+selenium+webdriver 截取全页面长图: from selenium import webdriver import tim ...

  4. Python+Selenium.webdriver实现WEB端UI自动化测试(实例脚本)

    本篇记录基于Python+Selenium.webdriver实现WEB端UI自动化测试,其中测试用例使用excel维护.为了在实际项目种的扩展应用,建议学习webdriver的元素定位方法,欢迎在评 ...

  5. Python Selenium.WebDriver 判断元素是否存在

    Python Selenium.WebDriver 判断元素是否存在 文章目录 Python Selenium.WebDriver 判断元素是否存在 一.判断元素是否存在 二.异常捕获 三.多元素捕获 ...

  6. Python Selenium.WebDriver清除输入框再输入『详解』

    Python Selenium.WebDriver 清除输入框再输入『详解』 文章目录 Python Selenium.WebDriver 清除输入框再输入『详解』 一.如何清除输入框中的默认内容 二 ...

  7. Python Selenium.WebDriver 对Cookies的处理及应用『模拟登录』

    Python Selenium.WebDriver 对Cookies的处理及用途『模拟登录』 文章目录 Python Selenium.WebDriver 对Cookies的处理及用途『模拟登录』 一 ...

  8. python中webdriver_Linux上部署python+selenium+webdriver常见问题解决方案

    折腾了几天的WechatScraper终于部署到Linux服务器上能生产使用了 用篇文章来记录下部署过程中遇到的各种bug和坑. 1. 运行问题 webdriver在有GUI界面的系统上运行是只需要下 ...

  9. js下拉 selenium_如何使用Python / Selenium webdriver处理Angularjs / Javascript下拉列表?

    我想在Chromium浏览器上使用 Python和Selenium webdriver自动执行一些浏览器任务.我的python脚本已经能够登录,导航到子页面/做一些点击,并在表单中插入一些东西. 我的 ...

最新文章

  1. win10 系统安装 服务器失败怎么回事,Win10正式版安装出现问题怎么办
  2. 安全是一个系统问题包括服务器安全,信息安全技术题库:信息泄露对于Web服务器的危害在于( )。...
  3. 使用layer7应用层过滤功能
  4. linux ftp查看用户目录权限,linux 指定ftp用户 特定目录及权限
  5. Docker——Docker Compose
  6. svn回退后如何再还原_设计师如何管理自己的文档
  7. 2011年至2019年制造的 AMD 处理器均易受两种新型攻击
  8. 性能优化篇 - Performance(工具 api)
  9. Java开发微信公众号
  10. 通达信服务器在哪个文件里,通达信“指标模块”存放在哪个文件夹里
  11. Java二叉树数据结构原理
  12. java适合音频格式_我应该为java使用什么音频格式?
  13. 树莓派如何重新装Linux系统,如何给树莓派Raspberry重新安装修复操作系统
  14. c语言中关键字中文的发音,c语言里面的32个关键字发音
  15. NVIDIA Jetson Xavier通过JetPack 4.1刷机教程(虚拟机版)
  16. 系统集成项目管理工程师10大管理
  17. linux下vi编辑器方向键变成字母的解决方法
  18. 视频格式转换器哪个好?怎样使用?
  19. 打包安卓apk后的V1和V2签名
  20. JAVA“三大护法”—JVM、JRE、JDK

热门文章

  1. 2022年中级会计实务考练习真题及答案
  2. 泰凌微 Telink TLSR825X Printf gpio 模拟 串口 打印信息 log
  3. 解读 Data Augmentation using Random Image Cropping and Patching for Deep CNNs
  4. 修复ubuntu引导
  5. Docker常见问题处理
  6. MT8516源码编译问题mDNSResponder-320.10.80 fetcher failure
  7. 如何利用input标签添加语音录入功能
  8. SpringBoot HATEOAS用法简介
  9. javaScript系列 [05]-javaScript和JSON
  10. 安装gnome-screenshot截图工具