Python selenium的基本使用方法分析


Posted in Python onDecember 21, 2019

本文实例讲述了Python selenium的基本使用方法。分享给大家供大家参考,具体如下:

selenium是一个web自动化测试工具,selenium可以直接运行在浏览器上,可以接收指令,让浏览器自动加载页面,获取需要的数据。

selenium的基本使用

1.导包

from selenium import webdriver

2.创建driver对象

webdriver.PhantomJS()

3.请求数据

driver.get("http://www.baidu.com")

4.查看网页源码

driver.page_source

5.关闭无界面浏览器

driver.quit()

6.根据id定位元素

drivrt.find_element_by_id("kw")

7.操作点击事件

click()

8.给输入框赋值

send_keys()

selenium的定位操作

定位元素语法:

find_element_by_id(返回一个元素)
find_elements_by_xpath(返回一个包含元素的列表)
find_elements_by_link_text(根据连接文本获取元素列表)
find_elements_by_partial_link_text(根据链接包含的文本获取元素列表)
find_elements_by_tag_name(根据标签名获取元素列表)
find_elements_bu_class_name(根据类名获取元素列表)

注意

find_element和find_elements的区别:多了个s返回列表,没有s的返回匹配到的第一个。

获取数据

获取文本:element.text

获取属性值:element.get_attribute("href")

selenium的其他方法

selenium处理cookie

driver.get_cookies(),获取的是完整的cookie信息,不光有name、value,还有domain等其他信息。

# 把cookie转换为字典
cookies_dict = {cookie['name']: cookie['value'] for cookie in driver.get_cookies()}
# 删除一条cookie
driver.delete_cookie("CookieName")
# 删除所有cookie
driver.delete_all_cookies()

页面等待

time.sleep(10)

selenium执行js代码

driver.execute_script('js语句')

switch方法切换的操作

1.窗口切换

# 获取当前所有的窗口
current_windows = driver.window_handles
# 根据窗口索引进行切换
driver.switch_to.window(current_windows[1])

2.selenium默认访问不了frame中的内容,对应解决的方法是driver.switch_to.frame()

3.处理页面弹窗提示

driver.switch_to.alert()

页面前进和后退

driver.forward() # 前进
driver.back(() # 后退

selenium的优缺点

  • 优点:selenium能够执行页面上的js,对于js渲染的数据和模拟登陆处理起来较容易。
  • 缺点:selenium由于在获取页面过程会发送很多请求,所以效率非常低。

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python对字典进行排序实例
Sep 25 Python
整理Python中的赋值运算符
May 13 Python
Python处理PDF及生成多层PDF实例代码
Apr 24 Python
通过源码分析Python中的切片赋值
May 08 Python
python操作xlsx文件的包openpyxl实例
May 03 Python
Python使用爬虫爬取静态网页图片的方法详解
Jun 05 Python
python面试题之列表声明实例分析
Jul 08 Python
pygame实现俄罗斯方块游戏(基础篇3)
Oct 29 Python
python学生信息管理系统实现代码
Dec 17 Python
Django 后台带有字典的列表数据与页面js交互实例
Apr 03 Python
Python unittest如何生成HTMLTestRunner模块
Sep 08 Python
Elasticsearch 基本查询和组合查询
Apr 19 Python
Flask框架搭建虚拟环境的步骤分析
Dec 21 #Python
Django restframework 框架认证、权限、限流用法示例
Dec 21 #Python
python支持多线程的爬虫实例
Dec 21 #Python
Python 实现try重新执行
Dec 21 #Python
在python shell中运行python文件的实现
Dec 21 #Python
Python 脚本的三种执行方式小结
Dec 21 #Python
python带参数打包exe及调用方式
Dec 21 #Python
You might like
PHP学习之整理字符串
2011/04/17 PHP
用php解析html的实现代码
2011/08/08 PHP
基于PHP服务端图片生成缩略图的方法详解
2013/06/20 PHP
php实现简单文件下载的方法
2015/01/30 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
2015/02/14 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
2015/03/23 PHP
PHP操作Postgresql封装类与应用完整实例
2018/04/24 PHP
Javascript 获取链接(url)参数的方法[正则与截取字符串]
2010/02/09 Javascript
jQuery实现密保互斥问题解决方案
2013/08/16 Javascript
在JavaScript中处理字符串之link()方法的使用
2015/06/08 Javascript
JS+CSS实现的经典tab选项卡效果代码
2015/09/16 Javascript
jquery-mobile表单的创建方法详解
2016/11/23 Javascript
微信小程序 Template详解及简单实例
2017/01/05 Javascript
Javascript基础回顾之(三) js面向对象
2017/01/31 Javascript
layer弹窗插件操作方法详解
2017/05/19 Javascript
Vue自定义toast组件的实例代码
2018/08/15 Javascript
ES6中Set和Map用法实例详解
2020/03/02 Javascript
Threejs实现滴滴官网首页地球动画功能
2020/07/13 Javascript
在Python程序中实现分布式进程的教程
2015/04/28 Python
Python构建网页爬虫原理分析
2017/12/19 Python
python3安装pip3(install pip3 for python 3.x)
2018/04/03 Python
Python中存取文件的4种不同操作
2018/07/02 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
2020/03/25 Python
Python 常用日期处理 -- calendar 与 dateutil 模块的使用
2020/09/02 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
EJB的激活机制
2013/10/25 面试题
生育关怀行动实施方案
2014/03/26 职场文书
拒绝黄毒毒宣传标语
2014/06/26 职场文书
农行心得体会
2014/09/02 职场文书
2014年国庆节寄语
2014/09/19 职场文书
2014年残联工作总结
2014/11/21 职场文书
供应商食品安全承诺书
2015/04/29 职场文书
入党申请书怎么写?
2019/06/11 职场文书
2019职场实习报告该怎么写?
2019/07/01 职场文书
2019年学校消防安全责任书(2篇)
2019/10/09 职场文书