安装 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 ...
随机推荐
- 在Linux下,使用Xmanager图形化显示
linux在安装Oracle时,需要图形化展示,本博客将使用xclock显示钟表进行测试 首先需要下载Xmanager网址:http://www.xshellcn.com/ 安装之后 打开之后,点击t ...
- P3275 [SCOI2011]糖果 题解
一道差分约束的模板题. 题目 题意:n个人每个人至少一个糖果,另外要满足k个不等式,求最少糖果数. 差分约束系统 给定一组不等式 $ x[i]-x[j]<=c[k] $ (或 $ x[i]-x[ ...
- SpringBoot(1)
SpringBoot 8/2 CRUD 发送put请求修改数据有三个步骤: SpringMVC中配置HiddenHttpMethodFilter 页面上创建一个post请求(form标签只能写get和 ...
- 题解 Luogu P3959 【宝藏】
来一篇不那么慢的状压??? 话说这题根本没有紫题难度吧,数据还那么水 我是不会告诉你我被hack了 一看数据规模,n≤12,果断状压. 然后起点要枚举,就设dp状态: f[i][j]=以i为起点到j状 ...
- 启迪链网通证经济共同体:柏链教育&火聘online推出区块链行业人才“一门式”服务
近日,启迪链网通证经济共同体旗下两个节点成员柏链教育与火聘online,达成节点间的合作,据悉本次合作是采用共同体的生态共建模式,柏链教育与火聘online共享企业端岗位需求的大数据,然后有针对性的开 ...
- SpringCloud之熔断器Hystrix及服务监控Dashboard
目的: 服务雪崩效应 服务熔断服务降级 Hystrix默认超时时间设置 Hystrix服务监控Dashboard 服务雪崩效应 雪崩效应就是一种不稳定的平衡状态也是加密算法的一种特征,它指明文 ...
- [LOJ2002] [SDOI2017] 序列计数
题目链接 LOJ:https://loj.ac/problem/2002 洛谷:https://www.luogu.org/problemnew/show/P3702 Solution 考虑补集转换, ...
- WPF 程序如何移动焦点到其他控件
原文:WPF 程序如何移动焦点到其他控件 WPF 中可以使用 UIElement.Focus() 将焦点设置到某个特定的控件,也可以使用 TraversalRequest 仅仅移动焦点.本文介绍如何在 ...
- tcp协议close_wait与time_wait状态含义
题目描述 1.什么是三次握手,四次挥手?为什么分别要三次与四次? 2.tcp协议中,close_wait与time_wait状态分别代表什么含义,为什么要设计这两种状态,解决了什么问题? 3.time ...
- python day4 元组/字典/集合类知识点补充
目录 python day4 元组/字典/集合类知识点补充 1. 元组tuple知识点补充 2. 字典dict的知识点补充 3. 基本数据类型set 4. 三元运算,又叫三目运算 5. 深复制浅复制 ...