安装 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 ...
随机推荐
- ORACLE链接SQLSERVER数据库数据操作函数范例
ORACLE链接SQLSERVER数据库数据操作函数范例 create or replace function FUN_NAME(LS_DJBH IN varchar2 ,LS_ITM varchar ...
- git clone一个仓库下的单个文件【记录】
注意:本方法会下载整个项目,但是,最后出现在本地项目文件下里只有需要的那个文件夹存在.类似先下载,再过滤. 有时候因为需要我们只想gitclone 下仓库的单个或多个文件夹,而不是全部的仓库内容,这样 ...
- springboot 实时监控 spring-boot-starter-actuator 包
对java工程实时监控方式很多,本文主要讲在springboot框架中的监控. springboot框架,自带了actuator监控,在pom中引入jar包即可,如下 1.引入jar <depe ...
- 组件系列之RabbitMQ
官网: https://www.rabbitmq.com/getstarted.html 1.四种交换机 TODO... 2.消费者获取消息方式:推 和 拉 拉取:每次拉取一条,循环拉取需要的条数在批 ...
- Mysql之锁的基本介绍
数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则.对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL自然也不能例外.MySQL数据 ...
- 安装g++
:yum install g++ 错误 :No package g++ available :yum install gcc-c++ Complete!
- ceph luminous版部署bluestore
简介 与filestore最大的不同是,bluestore可以直接读写磁盘,即对象数据是直接存放在裸设备上的,这样解决了一直被抱怨的数据双份写的问题 Bluestore直接使用一个原始分区来存放cep ...
- RedisCluster的rename机制失败报错,解决又是数据倾斜问题
需求说明:spring session中的用户session更新是更新key的名字,所以对于key的操作时需要用newkey 替换oldkey value值只允许存在一个,这里用到rename就很合适 ...
- Delphi INI 文件读写
delphi中,配置文件的相关操作. () INI文件的结构: ;这是关于INI文件的注释部分 [节点] 关键字=值 ... INI文件允许有多个节点,每个节点又允许有多个关键字, “=”后面是该关键 ...
- C++(四十三) — 函数模板机制
1.普通函数与模板函数调用原则 函数模板可以像普通函数一样被重载: 当函数模板和普通函数都符合条件时,编译器优先考虑普通函数: 但如果函数模板产生一个更好的匹配,则选择函数模板: 可以通过空模板实参 ...