selenium爬虫

方法选择和安装包

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

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

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

import sys

print(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()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/422573.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Bert-as-service 学习

pip3 install --user --upgrade tensorflow 安装遇到的问题如下: pip3 install --user --upgrade tensorflow 1052 pip uninstall protobuf 1053 pip3 uninstall protobuf 1054 pip3 install protobuf3.20.* 1055 pip3 install open-clip-torch2.8.2 1…

C++/数据结构:AVL树

目录 一、AVL树的概念 二、AVL树的实现 2.1节点定义 2.2节点插入 三、AVL树的旋转 3.1新节点插入较高左子树的左侧:右单旋 3.2新节点插入较高右子树的右侧:左单旋 3.3新节点插入较高左子树的右侧---左右:先左单旋再右单旋 3.4新节点插…

数据结构篇十:红黑树

文章目录 前言1. 红黑树的概念2. 红黑树的性质3. 红黑树节点的定义4. 红黑树的插入4.1 情况一: cur为红,p为红,g为黑,u存在且为红4.2 情况二: cur为红,p为红,g为黑,u不存在/u存在且为黑。4.2.1 …

C++:内存管理|new和delete

创作不易,感谢三连支持! 一、内存分布 为什么需要内存管理呢??因为我们在程序的运行过程中会需要各种各样的数据,而我们根据数据的不同存储在不同的区域里面,是为了更高效地处理数据。而C语言相比Java来说…

Docker与虚拟机比较

在对比Docker和虚拟机前,先简单了解下虚拟化,明确Docker和虚拟机分别对应的虚拟化级别,然后对Docker和虚拟机进行比较。需要注意的是,Docker和虚拟机并没有什么可比性,而是Docker使用的容器技术和虚拟机使用的虚拟化技…

Linux 基础之 sar 工具详解

文章目录 一、前言二、配置说明三、使用说明(一)sar语法(二)sar选项(三)示例示例1示例2示例3示例4示例5示例6示例7示例8示例9示例10其他示例11其他示例12用于排查性能常用的命令 一、前言 sar(System Acti…

【无标题】TMGM官网平台切尔西足球俱乐部合作

TMGM作为一家在三大洲均设有办事处的行业领导者,TMGM 被视为可靠的差价合约交易提供商,其重点是监管合规、技术创新与他联系➕🛰️TMGM818卓越的客户服务。 切尔西足球俱乐部在亚太地区拥有庞大的球迷群体,并在该地区建立了多种亚…

Java中==与equals()的区别

关于“对比”类型的面试题,建议回答时包括: 多个对比项有什么相同/相似之处 多个对比项的区别 在应用中应该如何选取 可能的话,加入一些扩展。 变量与对象是2个不同的概念 Object a = new Object(); 以上代码中的a就是变量,在内存中实际存在的数据就是对象。 所有引…

五大跨平台桌面应用开发框架:Electron、Tauri、Flutter等

hello,我是贝格前端工场,本次介绍跨平台开发的框架,欢迎大家评论、点赞。 一、什么是跨平台桌面应用开发框架 跨平台桌面应用开发框架是一种工具或框架,它允许开发者使用一种统一的代码库或语言来创建能够在多个操作系统上运行的…

使用 frp 实现 windows 远程

前提条件: 拥有一台公网 ip 的服务器; 被远程控制的 windows 系统为专业版(家庭版的其它方式没有尝试过); frp 下载包及使用说明 frp release 包的下载网址:https://github.com/fatedier/frp/releases 中…

人工智能基础——模型部分:模型介绍、模型训练和模型微调 !!

文章目录 前言 一、什么是模型 二、什么是模型训练 三、什么是模型微调 前言 本文将从什么是模型?什么是模型训练?什么是模型微调?三个问题,来展开介绍人工智能基础的模型部分。 模型族谱 一、什么是模型 模型是一个函数&#x…

set和multiset

1. set基本概念 简介: 所有元素都会在插入时自动被排序 本质: set/multiset属于关联式容器,底层结构是用二叉树实现。 set和multiset区别: set不允许容器中有重复的元素 multiset允许容器中有重复的元素 2. set构造和赋值 功能描述…

MySql安全加固:配置不同用户不同账号禁止使用旧密码禁止MySql进程管理员权限

MySql安全加固:配置不同用户不同账号&禁止使用旧密码&禁止MySql进程管理员权限 1.1 检查是否配置不同用户不同账号1.2 检查是否禁止使用旧密码1.3 禁止MySql进程管理员权限 💖The Begin💖点点关注,收藏不迷路&#x1f496…

uview2中上传文件和若依前后端分离配合的代码

uview2中的上传文件需要配合着自己后端的上传的代码 uview2 代码: uploadFilePromise(url) {return new Promise((resolve, reject) > {// 后续自己封装let a uni.uploadFile({//自己的请求路径url: that.$baseURL /uploadAvater, //上传的文件filePath: tha…

4.1.CVAT——目标检测的标注详细步骤

文章目录 1. 进入任务1. 创建任务2. 已创建的task3. 进入标注界面 2. 选择标注类型2.1 选择标注类型2.2 进行标注2.3 遮挡 2.快捷键3.导出标注结果 1. 进入任务 登录后会看到如下图界面,CVAT的标注最小单位是Task,每个Task为一个标注任务。点击Task按钮…

数据安全无忧,SQL Server 2014数据库定时备份解密

一、为什么要执行数据库定时备份 在SQL Server数据库中,完整备份和差异备份是常见的备份策略组合。它们的目的是提供数据的备份和恢复能力,以确保数据的可靠性和可恢复性。 完整备份(Full Backup) 完整备份是对整个数据库进行备份…

为什么要在业务系统中引入大宽表?

在高度系统化驱动的业务中,查看业务报表已经是一个很常见的需求了。在分工非常明确的大型企业里,往往有专门的数据分析团队 BI 或者数据开发团队,他们能够胜任此类需求(但也未必是轻松的,或者说高效的)。 …

‘conda‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件

如果你在运行 conda 命令时收到了 ‘conda’ 不是内部或外部命令,也不是可运行的程序或批处理文件。 的错误消息,这可能意味着 Anaconda 并没有正确地添加到你的系统路径中。 1.你可以尝试手动添加 Anaconda 到系统路径中。以下是在 Windows 系统上添加…

前端按钮动画

效果示例 代码示例 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevic…

自测-2 素数对猜想

文章预览&#xff1a; 题目算法 题目 算法 本题用python写不能用一般的算法去求会超时&#xff0c;应该采用欧拉素数筛选法去求&#xff0c;算法复杂度为O&#xff08;n&#xff09;比其他的算法优秀的多&#xff0c; 算法思想: &#xff08;1&#xff09;我们安排一个数组或者…