【超详细】Python—selenium模块总结

关于python中selenium模块安装问题 当你在python中使用selenium模块打开浏览器,首先我们要确定你的浏览器是什么,我使用的谷歌浏览器 103.0.5060.53(正式版本)(32 位)谷歌浏览器下载链接对应驱动链接教程开始。 阅读详情

前言(使用场景)

我们在抓取⼀些普通⽹⻚的时候requests基本上是可以满⾜的. 但是, 如果遇到⼀些特殊的⽹站. 它的数据是经过加密的. 但是呢, 浏览器却 能够正常显示出来. 那我们通过requests抓取到的内容可能就不是我 们想要的结果了.

一、前期准备工作

使用selenium前需要安装浏览器相应版本的驱动并移动到python解释器的目录下 下载链接 chromedriver.storage.googleapis.com/index.html

二、基本的操作

from selenium.webdriver import Chrome # 导⼊⾕歌浏览器的类
web = Chrome(executable_path="chromedriver")# 创建浏览器对象
web.get("http://www.baidu.com") # 输⼊⽹址
print(web.title) # 打印title

运⾏⼀下你会发现神奇的事情发⽣了. 浏览器⾃动打开了. 并且输⼊ 了⽹址. 也能拿到⽹⻚上的title标题.

案例:

在这里插入图片描述 利用抓包工具可以定位想要标签的xpath 然后利用

el =web.find_element(By.XPATH,'//*[@id="changeCityBox"]/p[1]/a')   # 定位到需要点击元素的位置
el.click()  # 点击元素

又如果是定位到可以输入信息的标签要输入就可以

# 找到输入框,输入python  ==>输入回车
el = web.find_element(By.XPATH,'//*[@id="search_input"]').send_keys("python",Keys.ENTER)


***********使用selenium时必须注意: 使用时当切换到其他页面时一定要用time.sleep()缓一缓,因为你页面可能还没加载完你就执行下面的操作狠狠很有可能它就会这样:在这里插入图片描述 在这里插入图片描述 如果不知道具体该睡多久可以这样处理:

while 1:
    try:
        res=web.find_element(By.XPATH,'//*[@id="repo-content-pjax-container"]//*[@class="branch"]').text
        print('已定位到元素')
        endtime= time.time()
        break
    except:
        print("还未定位到元素!")
        time.sleep(1)
print(res)
print('定位耗费时间:' + str(endtime-start_time))


有iframe时需要注意:

# 注意有iframe的情况也需先跳转进入iframe窗口进行爬取
web.switch_to.frame("iframe_ref")
# 要想从iframe切回来 ;
web.switch_to.default_content() 切换到原页面

在使用selenium时若打开了多个页面并且想在多个页面反复横跳可以这样:

web.switch_to.window(web.window_handles[0])  #[0]就是主网页中第一个网页

对于有下拉框的那种点击切换页面的情况可以这样:

sel_el =web.find_element(By.XPATH,'//*[@id="msgCenter"]/span[2]')  # 先定位到select标签
sel =Select(sel_el) # 扔给Select
for i in range(len(sel.options)):  #i就是每个下拉框索引位置
    sel.select_by_index(i)   # 切换选项

使用selenium利用验证码识别平台(超级鹰)进行各种类型验证码验证:

超级鹰的使用可以在平台是去下载源码进行使用,一看就会。

验证根据图像识别验证码输入类:

定位到验证码的xpath

img = web.find_element(By.XPATH,'/html/body/div[3]/div/div[3]/div[1]/form/div/img').screenshot_as_png

这个方法可以返回一个png格式的截图,这样就可以把图片给超级鹰识别返回验证码输入。over!

验证根据图像识别需要点击的地点类:

同上丢给超级鹰后返回的是需要点击地方的坐标,然后就可遍历返回的坐标,以此使用ActionChains里的事件链去点击相应位置就可以解决 ActionChains(“放入element”).move_to_element_with_offset(放入点击元素横,纵坐标) 最后还要.perform进行提交才能执行这个事件链

滑块验证类:

这类比较坑的地方就是会被服务器识别出我们不是人。。。 所以需要伪装我们

option = Options()   # 防止被检验出
option.add_argument('--disable-blink-features=AutomationControlled')
web = Chrome(options=option)

伪装后就使用ActionChains里的事件链就可以解决了

ActionChains(web).drag_and_drop_by_offset(btn,300,0).perform() # btn是滑块区域,300,0就是滑块横坐标的始起点。perform提交就大功告成

这两个方法需要引入库

from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.chrome.options import Options

---------------------------END---------------------------

题外话

感谢你能看到最后,给大家准备了一些福利!

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。


👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img

二、Python兼职渠道推荐*

学的同时助你创收,每天花1-2小时兼职,轻松稿定生活费.
在这里插入图片描述

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

python模块之selenium详解 python模块之selenium详解selenium是什么selenium安装selenium与浏览器的版本匹配一级目录一级目录二级目录三级目录 selenium是什么 Selenium是一个用于Web应用程序测试的工具。是爬虫技术的一种重要的模块组件。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。可以通过编写相关脚本,实现对web页面的自动操作,也可以批量获取web页面指定的信息。 seleniu 阅读详情

相关推荐

Python+selenium 将登录操作设置为公共模块

在使用Python+selenium搭建自动化测试框架时,发现有个问题,就是每个testcase执行都是在登录的前提下才能运行的,根据网上介绍的各种方法,发现用setUpClass或者用setUpModule均不能解决这个问题。因为我的testcase是不在一个文件下的,我可能写在不同的文件中。所以要实现这个在登录后运行各个testcase,就必须将登录操作设置为公共模块,这样每个testcase...

sinat_39589027的博客 2640

python Selenium安装、启动设置、基本操作

安装使用: 1.安装active-python 从这里下载PC已经安装python版本相同的版本http://www.activestate.com/activepython/downloads 按默认进行安装,记得关闭杀毒软件以免不能正常安装 2.安装selenium webdriver 打开命令行cmd,输入下面的命令: pip install selenium 3.下载各浏

CharliePeng的专栏 3599

Python web自动化测试模块-selenium

1 介绍 Selenium 本来就是web功能测试的一个很棒的工具,之前和python没有关系,后来python编写调用selenium的模块。使用python可以驱动selenium然后驱动 浏览器内核进行浏览器控制,所有selenium通常用于自动化测试和爬虫两个方向的代码。Selenium在python当中是一个三方模块,安装需要先安装selenium模块,然后安装对应的浏览...

Tanyxn的博客 1074

Web自动化之Selenium 超详细教程(python)

   本文所有内容基于作者本人在使用python selenium进行web自动化任务时所遇到的实际问题和解决方案进行整理和总结。希望这些经验能够帮助到正在学习或使用python selenium进行web自动化的朋友们。

weixin_73953650的博客 2万+

Python中Selenium模块的使用

目录 Selenium的介绍、配置和调用 Selenium的配置 Selenium的调用 Selenium的使用 定位 定位元素的使用 定位下拉标签元素  在iframe框架之间切换  上传文件 Webdriver模块的使用 控制浏览器操作的一些方法  鼠标事件 键盘事件 获取断言信息 Selenium的介绍、配置和调用 Selenium(浏览器自动化测试框架) 是...

谢公子的博客 2万+

Python Selenium模块详解

Selenium是一款用于Web应用程序自动化测试的工具。它可以通过不同的方式唤起浏览器中,测试代码可以运行在这个浏览器中,就像真实的用户在操作一样。该工具支持的浏览器包括IE 7/8/9/10/11,以及Mozilla Firefox、Safari、Google Chrome和Opera等。开源,免费。多浏览器支持,如Firefox、Chrome、IE、Opera和Edge。多平台支持,如Linux、Windows和Mac OS。

悦分享 3472

Python selenium模块的安装和配置教程

我们以谷歌浏览器的chromedriver为例 1、在Python虚拟环境中安装selenium模块

软件测试技术资源分享官 3939

头歌 JAVA 桥接模式实验

这样,通过客户端代码配置不同的 FileConvertor 子类和 DataHandler 子类(如 OracleHandler 或 SQLServerHandle),即可实现从不同数据库读取数据并转换成不同格式的功能,而无需修改已有代码。

m0_74091276的博客 3194

python+selenium实现的谷歌爬虫(超详细)

python+selenium实现的谷歌爬虫 接到一个需求,需要从谷歌图库中爬取图片。于是按照之前的爬取国内网站的图片的方法,进入谷歌图库的图片页面,打开谷歌开发者工具,选中network面板,然后翻页,以此找到返回图片地址的json数组的请求url,结果硬是找不到。在这里不得不说,国外的网站安全性比国内还是要高,国内的什么百度图库、搜狗图库、一些图片收费网站按照上面的方法轻松爬取。 既然此路不通...

世俗的眼光 1万+

GD32模拟IIC读写DVC1124

GD32模拟IIC读写集澈AFE芯片DVC1124

ponyma_的博客 1226

AI Agent实战:WorkBuddy安装部署、任务执行与模型接入全教程

AI Agent是当前自动化办公与智能工作流的核心技术,它区别于传统问答式AI,能够理解目标、拆解任务并调用工具交付完整成果。其底层原理基于任务规划、工具调用与结果验证的循环机制,让机器从“提供建议”进化为“完成任务”。在工程实践中,合理配置模型服务(如接入DeepSeek)、设计标准化Skill(技能包)与自定义指令,可以显著提升Agent在报告生成、数据分析、竞品调研等场景中的稳定性与效率。WorkBuddy作为典型的任务式AI工作台,为运营、产品、开发等多角色提供了统一入口,覆盖安装部署、任务描述公式

weixin_26712075的博客 289

python安装selenium(超详细)

python安装selenium的方法介绍(超详细)

qq_65898266的博客 2万+

基于Halium 9为小米平板4移植Ubuntu Touch:内核适配与驱动调试实战

在移动设备生态中,Linux内核作为核心,通过硬件抽象层(HAL)管理底层硬件驱动,为上层系统提供统一接口。其模块化设计允许深度定制,是实现跨平台移植的技术基础。Halium项目正是利用这一原理,构建了一个中间层,将安卓内核的硬件支持能力“翻译”成标准Linux发行版能识别的格式,从而在手机、平板等移动设备上运行Ubuntu Touch、postmarketOS等移动Linux系统,极大地拓展了老旧设备的再利用价值。这一技术为开发者提供了在常见安卓硬件上进行Linux系统开发与定制的可能,尤其在嵌入式与物联

weixin_42639246的博客 372

python爬虫--selenium模块

文章目录selenium模块selenium基本概念基本使用代码基于浏览器自动化的操作代码代码selenium处理iframe:代码selenium模拟登陆QQ空间代码无头浏览器和规避检测代码 selenium模块 selenium基本概念 selenium优势 便捷的获取网站中动态加载的数据 便捷实现模拟登陆 selenium使用流程: 1.环境安装:pip install selenium 2.下载一个浏览器的驱动程序(谷歌浏览器) 3.实例化一个浏览器对象 基本使用 代码 from seleniu

qq_43710889的博客 4863

【本地部署实战】LM Studio深度使用指南:从环境搭建到模型调优

LM Studio通过极简的操作流程和强大的生态兼容性,让本地部署大模型成为可能。随着M4芯片的发布和CUDA 12.0的优化,未来本地化AI开发将迎来新的爆发点。建议开发者关注官方Discord社区(https://discord.gg/lmstudio)获取最新模型支持信息。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 8751

实战优化!C#上位机串口通信卡顿问题:超时机制+数据缓存方案

串口名</param>/// <param name="baudRate">波特率

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1064

【python模块】Selenium

python模块,Selenium库

LongL_GuYu的博客 1677

华为OD机考双机位A卷 - 流浪地球(Java & Python& JS & C/C++ & GO )

华为OD机考双机位A卷 - 流浪地球(OD上机考试双机位A卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 4041

Python selenium模块的安装使用

selenium 作为爬虫和自动化测试中较为常用的包,在 python 中扮演着非常重要的角色前者是基于接口的爬虫,后者是基于浏览器页面的爬虫,前者可以轻松解决大部分任务前者对于一些加密接口是很难处理的,虽然前端无隐私,但是破解需要耗费大量时间,而后者仅获取页面渲染后的结果,不需要开发者去请求异步接口前者可以轻松解决大部分问题,但解决疑难杂症还得靠后者前者灵活速度快,后者需要启动一个对应版本的浏览器驱动,相对复杂todo…

什么都干的派森 1219

全志V3S嵌入式驱动开发(解决kernel 5.2.y wifi驱动问题)

​【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 wifi模块,之前测试的时候,开发板上用的是esp8089,当时内核时4.14.y,测试也是通过的。链接地址在这里, https://blog.csdn.net/feixiaoxing/article/details/131178420?spm=1001.2014.3001.5501 那个时候测试的时候,我们就说过,wifi驱动可能是除了镜像制作之外,最复杂的一个

嵌入式-老费,一个分享专业嵌入式知识的blog 1158

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Python中Selenium模块的使用详解

Selenium(浏览器自动化测试框架)是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。

软件测试小dao 2039

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Selenium+Python实现自动化测试(超详细)

完整的单元测试很少只执行一个测试用例,开发人员通常都需要编写多个测试用例才能对某一软件功能进行比较完整的测试,这些相关的测试用例称为一个测试用例集,在PyUnit中是用TestSuite类来表示,采用unittest.TestSuite()。PyUnit使用TestRunner类作为测试用例的基本执行环境,来驱动整个单元测试过程。Python开发人员在进行单元测试时一般不直接使用TestRunner类,而是使用其子类TextTestRunner来完成测试。

huace3740的博客 3052

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Python selenium模块模拟微信投票

Python selenium模块模拟微信投票 以为这个链接里面都是选择题和填空题,所以代码会比较简单 直接上代码: import random import xlrd from selenium import webdriver from selenium.webdriver.common.keys import Keys import time def vote(username, work_...

gbfeng123的博客 4612

【python】【爬虫】selenium模块使用cookie登录

在以前的文章中实现了向服务器发送POST请求模拟登录的操作【发送post请求】,但遇到验证码等情况时该方法就没用了。但我们可以使用当前登录账号的cookie信息,以实现下次访问该网站时自动登录。 可以利用抓包或F12,在Network页面中找到当前登录的cookies信息,但这个方法获取的cookies值不一定可以直接使用。在这里学习中提供了两种自动获取cookies并使用cookies状态实现登录的方法。 使用Session对象获取cookies 使用request模块中的Session对象..

BananaChoas的博客 5056

Linux下使用selenium模块

前言: 因为要在linux服务器上使用selenium模块实现“自动信息上报”的需求,在把python代码部署到linux服务器上的时候出现了一些环境配置上的问题,在一台服务器上摸索了好久也没成功问题一个接一个,难受????,然后我就又重新缕清头绪在另一台服务器上重新部署了一下,成功了以后仅此记录一下,其他linux系统以后再摸索摸索吧???? 查看linux版本 我的系统是Red Hat 4.8.5。 命令:cat /proc/version 安装selenium模块(前提是已经装好了python3环

z2bns的博客 1万+

Python Selenium 超详细新手教程:从零开始掌握浏览器自动化

通过本教程,你已经学会了:✅Selenium基础:安装、启动浏览器、基本操作✅元素定位:8种定位方式,找到网页上的任何元素✅元素操作:点击、输入、获取信息、处理表单✅等待机制:显式等待、隐式等待,处理动态加载✅实战项目:完整的Bing图片爬虫,包含数据保存Selenium是一个强大的工具,不仅可以用于爬虫,还可以用于自动化测试、自动化办公等。现在你已经有了坚实的基础,可以继续探索更多高级功能了!记住:学习编程最好的方式就是动手实践。

xiaoyu❅的博客 7256
上一篇: 详解5个Python自动化探索性数据分析库
下一篇: Python动态创建类
Python_P叔
博客等级 码龄3年 5451粉丝 827原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值