当前位置: 首页 > news >正文

selenium爬虫

方法选择和安装包

在动态网页并且登陆过程中不需要进行过于复杂的密码验证的时候使用selenium会非常的方便

安装准备过程也相对简单:

下载对应版本的chromedriver并且通过如下代码找到路径下载到python所在的目录:

import sysprint(sys.executable)

最基本的使用selenium:

# 从 selenium 中导入 webdriver(驱动)from selenium import webdriver# 选择 Chrome 浏览器并打开browser = webdriver.Chrome()

处理数据

BeautifulSoup中通过 select()方法查找所有被所传入的 CSS 选择器选中的元素。这里使用find_elements

具体的find_element的方式参考

http://t.csdnimg.cn/SwYrS

BeautifulSoup 的原理是将网页源代码的字符串形式解析成 BeautifulSoup 对象,然后通过 BeautifulSoup 对象 的属性和方法提取出我们需要的数据。发现没有?BeautifulSoup 只需要一个网页源代码的字符串形式即可。

之前我们都是使用 requests 库获取网页源代码,并通过 text 属性取得其字符串形式。而 selenium 获取网页后的 page_source 属性值正是字符串格式的!

控制浏览器

我们主要关注 click()和 send_keys()这两个方法。通过 selenium查找元素的方法找到对应的元素后,调用其 click()方法就可以模拟点击该元素,一般用于点击链接或按钮;调用其send_keys()方法用于模拟按键输入,传入要输入的内容即可,常用于账号密码等输入框的表单填写。

time.sleep(2)# 找到用户名输入框user_login = browser.find_element('id', 'user_login')# 输入用户名user_login.send_keys('codetime')# 找到密码输入框user_pass = browser.find_element('id', 'user_pass')# 输入密码user_pass.send_keys('shanbay520')# 找到登录按钮wp_submit = browser.find_element('id', 'wp-submit')# 点击登录按钮wp_submit.click()

相关文章:

  • Rust 读写csv文件
  • 【MySQL】事务?隔离级别?锁?详解MySQL并发控制机制
  • 配电房轨道式巡检机器人方案
  • 3.6作业
  • Redis基础入门
  • 【动态规划】45. 跳跃游戏 II
  • 数字创新的风口:创业者如何在Web3时代抢占先机
  • MySQL——事务
  • 铅酸蓄电池废水处理技术盘点
  • 重磅:2024广州国际酒店工程照明展览会
  • 鸿蒙 进程模型-公共事件
  • 设计模式——2_3 迭代器(Iterator)
  • 【JavaEE】_前端POST请求使用json向后端传参
  • 飞天使-学以致用-devops知识点3-安装jenkins
  • 中文版国产Figma简单好上手
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • create-react-app做的留言板
  • Java|序列化异常StreamCorruptedException的解决方法
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • MySQL数据库运维之数据恢复
  • 从输入URL到页面加载发生了什么
  • 关于字符编码你应该知道的事情
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 算法系列——算法入门之递归分而治之思想的实现
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • postgresql行列转换函数
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • $L^p$ 调和函数恒为零
  • (二)Linux——Linux常用指令
  • (分布式缓存)Redis哨兵
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (九)c52学习之旅-定时器
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • .NET : 在VS2008中计算代码度量值
  • .net Application的目录
  • .NET MVC 验证码
  • .Net Remoting(分离服务程序实现) - Part.3
  • .net开发时的诡异问题,button的onclick事件无效
  • .NET面试题(二)
  • .NET实现之(自动更新)
  • @ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)
  • @ConfigurationProperties注解对数据的自动封装
  • @EventListener注解使用说明
  • @RunWith注解作用
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用
  • []error LNK2001: unresolved external symbol _m
  • [2008][note]腔内级联拉曼发射的,二极管泵浦多频调Q laser——
  • [BUUCTF NewStarCTF 2023 公开赛道] week4 crypto/pwn
  • [BZOJ 2142]礼物(扩展Lucas定理)
  • [C#][DevPress]事件委托的使用
  • [C++从入门到精通] 14.虚函数、纯虚函数和虚析构(virtual)
  • [CDOJ 838]母仪天下 【线段树手速练习 15分钟内敲完算合格】