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写的一个简单DNS服务器实例
Jun 04 Python
Python中的XML库4Suite Server的介绍
Apr 14 Python
Python编程中的for循环语句学习教程
Oct 14 Python
Python实现将一个正整数分解质因数的方法分析
Dec 14 Python
python七夕浪漫表白源码
Apr 05 Python
基于Python2、Python3中reload()的不同用法介绍
Aug 12 Python
python实现的爬取电影下载链接功能示例
Aug 26 Python
Python类中方法getitem和getattr详解
Aug 30 Python
python读写文件write和flush的实现方式
Feb 21 Python
Django中Q查询及Q()对象 F查询及F()对象用法
Jul 09 Python
python实现企业微信定时发送文本消息的实例代码
Nov 25 Python
python for循环赋值问题
Jun 03 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中substr()函数参数说明及用法实例
2014/11/15 PHP
php隐藏IP地址后两位显示为星号的方法
2014/11/21 PHP
PHP实现GIF图片验证码
2015/11/04 PHP
PHP实现的观察者模式实例
2017/06/21 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
跟我一起学写jQuery插件开发方法(附完整实例及下载)
2010/04/01 Javascript
HTML中的setCapture和releaseCapture使用介绍
2012/03/21 Javascript
如何在MVC应用程序中使用Jquery
2014/11/17 Javascript
ExpressJS入门实例
2015/01/14 Javascript
javascript弹出页面回传值的方法
2015/01/28 Javascript
jQuery使用方法
2017/02/04 Javascript
利用ES6实现单例模式及其应用详解
2017/12/09 Javascript
cropper js基于vue的图片裁剪上传功能的实现代码
2018/03/01 Javascript
angular5 子组件监听父组件传入值的变化方法
2018/09/30 Javascript
JS跨域请求的问题解析
2018/12/03 Javascript
JavaScript时间与时间戳的转换操作实例分析
2018/12/07 Javascript
基于vue通用表单解决方案的思考与分析
2019/03/16 Javascript
bootstrap tooltips在 angularJS中的使用方法
2019/04/10 Javascript
Angular6项目打包优化的实现方法
2019/12/15 Javascript
JS实现商品橱窗特效
2020/01/09 Javascript
JS脚本实现定时到网站上签到/签退功能
2020/04/22 Javascript
[02:54]辉夜杯主赛事第二日败者组 iG.V赛后采访
2015/12/26 DOTA
使用python将请求的requests headers参数格式化方法
2019/01/02 Python
Python定时从Mysql提取数据存入Redis的实现
2020/05/03 Python
Python利用matplotlib绘制折线图的新手教程
2020/11/05 Python
python判断all函数输出结果是否为true的方法
2020/12/03 Python
纯CSS3实现圆角效果(含IE兼容解决方法)
2014/05/07 HTML / CSS
CSS3实现可翻转的hover效果
2018/05/23 HTML / CSS
Araks官网:纽约内衣品牌
2020/10/15 全球购物
数百万免费的图形资源:Freepik
2020/09/21 全球购物
几个Linux面试题笔试题
2016/08/01 面试题
党的群众路线教育实践活动个人对照检查材料(乡镇)
2014/11/05 职场文书
大二学年个人总结
2015/03/03 职场文书
学籍证明模板
2015/06/18 职场文书
如何书写先进事迹材料?
2019/07/02 职场文书
python实现网络五子棋
2021/04/11 Python