selenuim模块的使用 解析库
selenium:
是自动化测试工具,我们可以用它来进行爬虫。
可以驱动浏览器,执行自定义好的任务。
可以执行js代码
执行速度慢,效率低。
一般用于做登录的认证
基本选择器:
find_element_by_id() # 根据id查找标签
find_element_by_class_name() # 根据class查找标签
find_element_by_link_text() # 根据链接文本查找标签
find_element_by_partail_link_text() # 链接文本模糊查询
find_element_by_css_selector() # 根据属性选择器查找元素
find_element_by_xpath()
- / 从根开始查找
- // 从根开始查找所有子标签 (重点使用)
- * 找所有
- .找当前标签
- @href 查找标签属性
- 打开浏览器开发者模式,鼠标右击copy xpath
//*[@id="zh-recommend-list"]/div[1]/h2/a
//*[@id="zh-recommend-list"]/div[1]/div[2]/div[2]/div/img
用户交互操作
ActionChains # 动作链接
- 点击并按住某个标签
ActionChains(driver).click_and_hold(标签).perform()
- 拖拽某个标签
ActionChains(driver).drag_and_drop(标签).perform()
- 移动标签
ActionChains(driver).move_by_offset(X, Y).perform()
- 释放动作链
ActionChains(driver).release().perform()
前进后退
forward()
back()
执行js代码
- 弹窗
js = '''
alert('tank')
'''
driver.execute_script(js)
- 滑动滚轮
js = '''
window.scrollTo(0, 下滑滚动距离(px作为单位))
'''
暴力破解用户登录
破解的前提是目标网站登录成功后保存用户的token或session信息到浏览器中。
- 先把Default文件夹删除
C:\Users\Administrator\AppData\Local\Google\Chrome\User Data
- 去登录获取登录后的token或session键值对
- add_argument()
profile_directory = r'--user-data-dir=C:\Users\Administrator\AppData\Local\Google\Chrome\User Data'
options.add_argument(profile_directory)
- 添加cookies信息
往目标网站发送请求
隐式等待
driver.add_cookies({
'name': "**",
"value": "***"
})
selenuim模块的使用 解析库的更多相关文章
- 爬虫模块介绍--Beautifulsoup (解析库模块,正则)
Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时 ...
- 爬虫----爬虫解析库Beautifulsoup模块
一:介绍 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你 ...
- 03 解析库之Beautifulsoup模块
Beautifulsoup模块 一 介绍 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式 ...
- python爬虫解析库之Beautifulsoup模块
一 介绍 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会 ...
- 网络爬虫之Selenium模块和Xpath表达式+Lxml解析库的使用
实际生产环境下,我们一般使用lxml的xpath来解析出我们想要的数据,本篇博客将重点整理Selenium和Xpath表达式,关于CSS选择器,将另外再整理一篇! 一.介绍: selenium最初是一 ...
- python重要的第三方库pandas模块常用函数解析之DataFrame
pandas模块常用函数解析之DataFrame 关注公众号"轻松学编程"了解更多. 以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter notebook 打开浏览器 ...
- 爬虫 解析库re,Beautifulsoup,
re模块 点我回顾 Beautifulsoup模块 #安装 Beautiful Soup pip install beautifulsoup4 #安装解析器 Beautiful Soup支持Pytho ...
- 解析库之re,Beautifulsoup
本篇导航: 介绍 基本使用 遍历文档树 搜索文档树 总结 re模块在之前的python进阶中有讲过不再做过多的阐述,本篇为BeautifulSoup库的分析 20.collections模块和 ...
- 【Python爬虫】BeautifulSoup网页解析库
BeautifulSoup 网页解析库 阅读目录 初识Beautiful Soup Beautiful Soup库的4种解析器 Beautiful Soup类的基本元素 基本使用 标签选择器 节点操作 ...
随机推荐
- Spring框架之接口实现覆盖(接口功能扩展)
在日常开发中,存在着这种一种场景,框架对接口A提供了一个种默认的实现AImpl,随着需求的变更,现今AImpl不能满足了功能需要,这时,我们该怎么办? 当然是修改AImpl的实现代码了,但是,如果它是 ...
- 阿里云李刚:下一代低延时的直播CDN
在上周落幕帷幕的多媒体领域技术盛会——LiveVideoStackCon音视频技术大会上,阿里云的高级技术专家李刚进行了<下一代低延时的直播CDN>技术分享.主讲人李刚,多年关注在CDN这 ...
- php strncasecmp()函数 语法
php strncasecmp()函数 语法 作用:比较字符串前n个字符,不区分大小写直线电机 语法:strncasecmp(string1,string2,length) 参数: 参数 描述 str ...
- XenServer(服务器虚拟化平台)
Citrix Xenserver,思杰基于Xen的虚拟化服务器.Citrix XenServer是一种全面而易于管理的服务器虚拟化平台,基于强大的 Xen Hypervisor 程序之上.Xen技术被 ...
- UIStakView的添加与移除
subView和arrangedSubView对于Stack View的子控件添加和移除,我们是这样描述的. 添加-->(Stack View管理的subview) addArrangedSub ...
- 攻防世界 | CAT
来自攻防世界官方WP | darkless师傅版本 题目描述 抓住那只猫 思路 打开页面,有个输入框输入域名,输入baidu.com进行测试 发现无任何回显,输入127.0.0.1进行测试. 发现已经 ...
- springBoot JPA PageAble分页查询出错,PropertyReferenceException: No property creation found for type
PropertyReferenceException: No property creation found for type @RequestParam(required = false, defa ...
- ss证书问题
#SSL--校验网站证书 #一.什么是SSL证书 from urllib import request #ssl免验证 import ssl ssl._create_default_https_con ...
- Android(一)Android Eclipse环境搭建
SDK Manager下载实在是太慢了,不知道什么时候能下完,所以我是通过手工下载的. Android SDK 手工下载各个包然后解压到Android对应的目录 API对应的是platforms目录 ...
- JVM运行时区域详解。
我们知道的JVM内存区域有:堆和栈,这是一种泛的分法,也是按运行时区域的一种分法,堆是所有线程共享的一块区域,而栈是线程隔离的,每个线程互不共享. 线程不共享区域 每个线程的数据区域包括程序计数器.虚 ...