安装 selenium 对于python而言属于一个第三方的模块
针对第三方的模块,如何安装 在dos界面输入python -m pip install 模块名称
安装相关的浏览器以及浏览器的驱动
下载谷歌浏览器的驱动,淘宝镜像
下载后,解压,然后将得到的exe文件移动到python安装目录
测试是否安装成功

定位
提供了八种定位方式
|
定位方式 |
表达式 |
|
id |
find_element_by_id |
|
name |
find_element_by_name |
|
class_name |
find_element_by_class_name |
|
link_text |
find_element_by_link_text |
|
partial_link_text |
find_element_by_partial_link_text |
|
tag_name |
find_element_by_tag_name |
|
xpath |
find_element_by_xpath |
|
css_selector |
find_element_by_css_selector |
- 打开网页get()
- 输入 send_keys()
- 清空clear()
- 点击click()
id,name,class_name使用demo
# 使用selenium之前,需要先从selenium 里面导入 webdriverfrom selenium import webdriver from time import sleep # 打开谷歌浏览器,并且赋值给变量dd = webdriver.Chrome()# 通过 get(url) 方法打开网址d.get('http://localhost/wordpress/wp-login.php')# 通过id定位# 通过send_keys()方法输入内容d.find_element_by_id('user_login').send_keys('随便写写') sleep(2)# 通过name定位# 通过clear()方法,清空输入框的内容d.find_element_by_name('log').clear() sleep(2)# 通过class_name定位d.find_element_by_class_name('input').send_keys('admin')# 通过click()方法模拟鼠标单击d.find_element_by_class_name('button-primary').click()
tag_name,link_text,partial_link_text使用demo
# 使用selenium之前,需要先从selenium 里面导入 webdriverfrom selenium import webdriver from time import sleep # 打开谷歌浏览器,并且赋值给变量dd = webdriver.Chrome()# 通过 get(url) 方法打开网址d.get('http://localhost/wordpress/wp-login.php')# 通过tag_name定位d.find_element_by_tag_name('input').send_keys('tagname定位') sleep(2)# 通过link_text定位,需要全部的文本链接d.find_element_by_link_text('忘记密码?').click() sleep(2)# 通过partial_link_text 定位,只需要某一部分文本即可d.find_element_by_partial_link_text('回到自').click() sleep(2)
xpath定位
# 绝对路径定位 /html/body/div/form/p/label # 通过序号选择,获取到form标签下的第二个p标签 /html/body/div/form/p[2]/label # 直接查找某个标签下 //标签名 //form/p[2]/label # 属性与路径结合起来 //form/p/label[@for="user_pass"] //input[@class="input" and @type="password"] //p/label[@for="user_pass"]/input //label[@for="user_login"]/input
css定位
用空格表示下级标签 [属性名="属性值"][属性名="属性值"] //input[@class="input" and @type="password"] input[class="input"][type="password"] input.input[type="password"] 用 # 表示 id [id="user_login"] 等于 #user_login 用 . 表示 class [class="input"] 等于 .input
代码demo
# 使用selenium之前,需要先从selenium 里面导入 webdriverfrom selenium import webdriver from time import sleep # 打开谷歌浏览器,并且赋值给变量dd = webdriver.Chrome()# 通过 get(url) 方法打开网址d.get('http://localhost/wordpress/wp-login.php')# xpath定位d.find_element_by_xpath('//label[@for="user_login"]/input').send_keys('admin')# css定位d.find_element_by_css_selector('#user_pass').send_keys('admin123') d.find_element_by_css_selector('.button-primary').click()
安装 selenium 对于python而言属于一个第三方的模块的更多相关文章
- selenium,phantomJS,python整合的一个小示例,把某个网页画面整体保存成图片格式。
本篇将使用selenium,phantomJS和python制作的一个示例,把某个网页整体保存为一个图片文件. 简单介绍下,selenium是一个开源的用于测试web程序的工具,当然,如果你要执行一些 ...
- 在Window平台下安装xgboost的Python版本
原文:http://blog.csdn.net/pengyulong/article/details/50515916 原文修改了两个地方才安装成功,第3步可以不用,第2步重新生成所有的就行了. 第4 ...
- Python基础笔记系列十:模块
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 模块 #1.类比于java中的jar包,模块能让你能够有逻辑地组织你的Py ...
- python 并发编程 协程 gevent模块
一 gevent模块 gevent应用场景: 单线程下,多个任务,io密集型程序 安装 pip3 install gevent Gevent 是一个第三方库,可以轻松通过gevent实现并发同步或异步 ...
- Python库:序列化和反序列化模块pickle介绍
1 前言 在“通过简单示例来理解什么是机器学习”这篇文章里提到了pickle库的使用,本文来做进一步的阐述. 通过简单示例来理解什么是机器学习 pickle是python语言的一个标准模块,安装pyt ...
- 为采集动态网页安装和测试Python Selenium库
1. 引言上一篇<为编写网络爬虫程序安装Python3.5>中测试小例子对静态网页做了一个简单的采集程序,而动态网页因为需要动态加载js获取数据,所以使用urllib直接openurl已经 ...
- python安装selenium和下载浏览器驱动
1.安装selenium 方法一:可以用在cmd中用pip命令安装. python默认自带pip工具,如果在电脑上配置了pip的环境变量,打开cmd命令窗口后可以直接输入命令pip insta ...
- 自动化测试的Selenium的python版安装与使用
Selenium是专做网页自动化测试的,即web drive,通过百度Selenium就能找到Selenium的官网 由图可见,selenium支持相当多的编程语言进行网页自动化测试,这里我们使用py ...
- Python----Anaconda + PyCharm + Python 开发环境搭建(使用pip,安装selenium,使用IDLE)
1.Python开发中会用到的工具下载地址 FireBug插件安装地址:https://addons.mozilla.org/en-US/firefox/addon/firebug/ FirePath ...
随机推荐
- python使用matplotlib在一个图形中绘制多个子图以及一个子图中绘制多条动态折线问题
在讲解绘制多个子图之前先简单了解一下使用matplotlib绘制一个图,导入绘图所需库matplotlib并创建一个等间隔的列表x,将[0,2*pi]等分为50等份,绘制函数sin(x).当没有给定x ...
- 模型层之ORM、数据库和单表操作
一.ORM简介 ORM是“对象-关系-映射”的简称,一般指持久化数据和实体对象的映射 1.1 什么是“持久化” 持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中( ...
- Python中的条件判断、循环以及循环的终止
条件判断 条件语句是用来判断给定条件是否满足,并根据判断所得结果从而决定所要执行的操作,通常的逻辑思路如下图: 单次判断 形式 if <判断条件>: <执行> else: &l ...
- Python开发【源码剖析】 List对象
前言 本文探讨的Python版本为2.7.16,可从官网上下载,把压缩包Python-2.7.16.tgz解压到本地即可 需要基本C语言的知识(要看的懂) PyListObject对象 PyListO ...
- 销售订单开票过账,admin用户和新增用户走的方法不同解决
开发了一个功能,在销售订单开票时,生成的custInvocieJour表上的cashdisc计算时, 不加上销售订单头上的费用. 之后debug发现了在表custInvoiceJour下的initFr ...
- Springboot 整合ApachShiro完成登录验证和权限管理
1.前言 做一个系统最大的问题就是安全问题以及权限的问题,如何正确的选择一个安全框架对自己的系统进行保护,这方面常用的框架有SpringSecurity,但考虑到它的庞大和复杂,大多数公司还是会选择 ...
- php 中header头的使用
header("content-type:text/html;charset=utf-8");//页面字符集的设置 header("location:index.php& ...
- Linux操作系统六大优点
打开百度App,看更多图片 1.免费开源.Linux是一款完全免费的操作系统,任何人都可以从网络上下载到它的源代码,并可以根据自己的需求进行定制化的开发,而且没有版权限制. 2.模块化程度高.Linu ...
- java之hibernate之关联映射之多对一单向关联
1.在之前学习了单表的crud操作.在实际应用中,大都是多表关联操作,这篇会学习如何处理多表之间的关系. 2.考察书籍表和书籍分类表的关系.书籍表和书籍分类表之间是多对一的关系.数据库的表设计为: 3 ...
- 利用PHPExcel快速导出excel
<?php $objPHPExcel = new PHPExcel(); $objSheet = $objPHPExcel->getActiveSheet(); $array = arra ...