自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

知智

从自动化办公到智能化办公

  • 博客(391)
  • 收藏
  • 关注

原创 [Web自动化] Selenium操作非标准Select下拉框

摘要 现代网页设计逐渐采用<div>结合CSS和JavaScript替代传统<select>元素构建下拉框,主要因其具有更高灵活性、更好的用户体验和SEO优势。针对这类非标准下拉框,Selenium测试需采用特殊处理方法:通过JavaScript执行器触发交互、模拟用户点击行为、使用显式等待确保元素可交互、检查CSS类/属性状态等。示例代码展示了如何通过定位下拉按钮和选项元素实现交互。虽然处理复杂度增加,但Selenium提供了足够工具支持这类自定义UI组件的自动化测试。

2026-02-09 19:00:00 205

原创 [Web自动化] Selenium获取元素的子孙元素

本文介绍了在Selenium中获取元素子孙元素的多种方法:1)使用XPath的".//"表达式;2)使用CSS选择器的""通配符;3)通过JavaScript执行getElementsByTagName或querySelectorAll;4)利用find_elements()方法的By参数。文章还提醒注意性能问题,建议根据实际需求选择合适的方法。这些技术适用于网页自动化测试中对DOM结构的遍历操作。

2026-02-09 14:45:13 48

原创 [Web自动化] Selenium获取元素的子元素

本文介绍了使用Selenium获取元素直接子元素的多种方法:1)通过XPath的./*表达式;2)使用CSS选择器的> *语法;3)执行JavaScript代码获取children属性;4)结合find_elements()方法与定位策略。文中对比了不同方法的特点,指出XPath和CSS选择器较为简洁,JavaScript则更灵活,并提醒注意性能问题。最后提供了完整的Python代码示例,展示如何通过XPath和CSS选择器获取并遍历子元素。

2026-02-06 18:45:00 381

原创 [Web自动化] Selenium处理滚动条

Selenium通过JavaScript间接实现滚动条操作,主要提供纵向和横向滚动控制方法。对于纵向滚动,可使用window.scrollTo()实现顶部、底部、指定位置或元素定位滚动,还能通过scrollIntoView()实现平滑滚动。横向滚动则通过调整scrollLeft属性控制左右移动。处理多滚动条时需先定位具体容器(如iframe或div),再执行滚动操作。注意事项包括确保容器加载完成、处理动态内容加载以及滚动触发的事件监听。ActionChains也可用于模拟滚动行为,但JavaScript方式

2026-02-06 14:22:19 686

原创 [Web自动化] Selenium设置相关执行文件路径

Selenium设置相关执行文件路径主要包括:1)设置浏览器驱动位置,可通过环境变量或代码中指定路径;2)设置浏览器程序位置,使用binary_location参数;3)设置用户数据目录,通过user-data-dir参数加载现有用户数据;4)带插件启动,使用add_extension方法加载crx插件。这些设置主要通过ChromeOptions对象实现,灵活控制浏览器启动时的各项参数配置。

2026-02-04 18:00:00 625

原创 [Web自动化] Selenium处理Cookie

Selenium操作Cookie方法总结 Selenium提供了操作Cookie的API,主要用于模拟登录状态、保存会话和设置用户偏好。主要方法包括: 获取Cookie:使用get_cookies()获取当前页面所有Cookie 添加Cookie:通过add_cookie()添加指定Cookie,需包含name、value等必要字段 删除Cookie:使用delete_all_cookies()清除所有Cookie 典型应用场景: 实现免登录效果:先登录获取Cookie,保存后再次访问时加载 保持会话状态:

2026-02-04 15:00:00 1141

原创 [Web自动化] Selenium处理文件上传和下载

本文介绍了Selenium处理文件上传和下载的方法。文件上传通过<input type="file">元素和send_keys()方法实现。文件下载处理较为复杂,主要方法包括:1)配置浏览器下载设置;2)使用第三方库模拟操作;3)修改服务器响应;4)使用其他自动化工具;5)监控网络流量获取下载链接。建议优先采用浏览器设置或修改服务器响应等直接方法,必要时再考虑其他方案。

2026-02-03 17:30:00 372

原创 [Web自动化] Selenium处理iframe和frame

Selenium处理iframe和frame的方法包括:1)通过索引切换(如driver.switch_to.frame(0));2)通过元素ID或name切换(如driver.switch_to.frame("myIframeName"));3)使用XPath或CSS选择器定位后切换。操作完成后需用driver.switch_to.default_content()返回主文档。注意事项包括:处理同名iframe时需使用更精确的定位方式,动态加载的iframe需配合等待机制。实例展示了切

2026-02-03 16:00:00 967

原创 [Web自动化] Selenium执行JavaScript语句

Selenium提供了execute_script()和execute_async_script()方法执行JavaScript代码,主要用于处理动态渲染页面、元素操作和浏览器控制。常见应用包括:执行简单JS语句、点击元素、获取/设置元素属性、页面滚动、等待元素加载、执行异步代码等。通过arguments[0]可传递Selenium元素对象给JS代码,实现更灵活的页面交互。这些方法扩展了Selenium的功能,能有效处理纯Python方法难以解决的问题。

2026-02-02 18:30:00 229

原创 [Web自动化] Selenium截图

本文介绍了使用Selenium进行页面截图的方法。主要内容包括:1) 通过get_screenshot_as_file()和get_screenshot_as_png()方法截取整个页面;2) 通过结合JavaScript获取元素位置信息和使用Pillow图像处理库,实现特定元素的截图功能。文章提供了完整的代码示例,展示了如何定位元素、计算坐标并进行图像裁剪。这种方法无需依赖第三方库,是基础的解决方案。

2026-02-02 14:15:37 115

原创 [Web自动化] Selenium处理动态网页

本文介绍了使用Selenium处理动态网页的方法。针对JavaScript动态加载的网页内容,Selenium通过驱动浏览器模拟用户操作,能够获取完整渲染后的页面。文章概述了Selenium的基本原理和使用步骤,包括安装配置、编写自动化脚本以及获取页面内容。示例代码展示了如何启动浏览器、加载网页并获取渲染后的HTML源码,为解决传统爬取方法无法获取动态内容的问题提供了实用方案。

2026-01-31 16:47:47 103

原创 [Web自动化] 爬虫合规指南:从法律红线到安全实践

近期多家数据公司因违规爬虫被查处,媒体频现"爬虫入狱"报道,让不少技术爱好者心生惶恐:"爬虫玩得好,牢饭吃得早"真的不是玩笑。从无视网站协议到窃取隐私数据,从盗版资源爬取到恶意攻击服务器,每一个违规操作都可能将技术变成锒铛入狱的导火索。以下结合真实案例与法律条文,梳理爬虫必须严守的六大红线,助你避开法律陷阱。

2026-01-31 16:44:27 626

原创 [Web自动化] 数据抓取、解析与存储

本文介绍了使用Selenium结合BeautifulSoup进行网页数据抓取与解析的方法,以及数据存储的常见方式。首先通过Selenium模拟浏览器操作获取动态加载的页面内容,然后使用BeautifulSoup解析HTML提取目标数据。最后讨论了两种主要的数据存储方案:数据库(如MySQL、MongoDB)适合结构化大数据存储,而CSV/JSON文件则适用于中小规模数据。文中提供了Python代码示例,展示了从页面抓取到数据存储的完整流程。

2026-01-28 21:30:00 353

原创 [Web自动化] 反爬虫

本文介绍了常见的反爬虫技术及应对策略。主要内容包括:1)用户代理检测、IP限制、验证码等16种反爬虫手段;2)针对每种策略的破解方法,如修改请求头、使用代理、模拟用户行为等;3)重点讲解了使用Selenium工具绕过动态渲染和JavaScript加密的方法;4)提供了伪装请求头和使用代理的Python代码示例。文章系统性地总结了网站防护与爬虫反制的攻防技术,为数据采集工作提供了实用指导。

2026-01-28 17:08:11 528

原创 [Web自动化] 爬虫实例(获取时光网某个年度电影数据)

本文介绍了爬取时光网年度电影数据的完整流程。首先通过浏览器开发者工具分析网络请求,定位到实际数据接口地址。重点讲解了如何获取必要的请求头信息(如User-Agent)和参数(GET/POST参数),并给出了Python代码示例。文章详细说明了当直接请求失败时,如何通过添加headers和params参数来成功获取数据,包括处理不同请求方式(GET/POST)的情况。最后提到获取数据后的处理方式,如将文本数据转换为Python可操作的数据结构。整个流程覆盖了从分析请求到成功获取数据的完整爬虫实现过程。

2026-01-27 18:00:00 497

原创 [Web自动化] 爬虫之API请求

摘要:API请求是爬虫获取结构化数据的重要方式,具有认证、参数化、速率限制等特点。基本步骤包括了解API文档、获取认证信息、构造请求、发送请求和处理响应。Python的requests库可实现API请求,需注意安全性(避免硬编码密钥)、请求限制和数据隐私合规。API请求相比传统爬虫更规范高效,但需严格遵守服务条款。

2026-01-27 14:00:00 915

原创 [Web自动化] 爬虫之网络请求

本文介绍了使用Python的requests库进行HTTP请求的基本操作。主要内容包括:发送带参数的GET请求、POST请求(表单数据和JSON数据)、自定义请求头、处理响应内容(文本、状态码、头部等),以及使用Session对象保持会话状态。通过示例代码演示了这些功能的实现方式,为网络爬虫开发提供了基础技术参考。

2026-01-26 19:30:00 653

原创 [Web自动化] 处理爬虫异常

网络爬虫开发中,异常处理是确保程序稳定性的关键环节。常见异常包括HTTPError、URLError、Timeout等,主要由网络请求失败或数据解析错误引发。通过try-except语句捕获异常,配合超时设置、重试机制和错误日志记录,可以有效提升爬虫的健壮性。示例代码展示了如何使用requests库处理网络请求中的各种异常情况,包括HTTP状态码检查、超时控制和错误信息输出。

2026-01-26 14:45:58 286

原创 [Web自动化] 爬虫URL去重

本文介绍了爬虫URL去重的常用方法以及深度优先搜索(DFS)和广度优先搜索(BFS)在爬虫中的应用。URL去重主要采用集合、哈希表和数据库唯一索引三种策略。在遍历网站URL时,DFS会深入探索单个分支,适合特定主题追踪;BFS则逐层遍历,适合快速获取主要页面内容。两者各有优缺点:DFS实现简单但资源消耗大,BFS效率高但内存占用多。实际应用中可根据需求选择或组合使用这两种算法,同时需注意控制请求频率,遵守相关规范。

2026-01-23 17:30:00 771

原创 [Web自动化] 爬虫基础

爬虫(Web Scraper 或 Web Crawler)是一种自动化程序,它的核心任务是自动浏览互联网,通过模拟人类用户的行为(如发送HTTP请求、解析HTML代码)来抓取网页上的信息。爬虫可以根据预定的规则或算法,遍历网页上的链接,访问更多的页面,并提取有用的数据,如文本、图片、视频等。:网站根目录下的robots.txt文件规定了爬虫访问的规则,开发者应遵守这些规则,避免访问禁止抓取的页面。在进行网络爬虫活动时,必须严格遵守相关的法律法规和伦理规范,以避免触犯法律或侵犯他人权益。

2026-01-23 09:52:38 315

原创 [Web自动化] Selenium模拟用户的常见操作

本文介绍了Selenium模拟用户操作的常用方法,包括鼠标和键盘操作。鼠标操作部分讲解了点击、双击、右击和悬停的实现方式,主要通过click()和ActionChains类完成。键盘操作部分详细说明了文本输入和特殊按键的模拟方法,如回车、制表符等组合键操作,并提供了完整的键盘事件代码对照表。最后给出了一个模拟用户登录和填写表单的完整示例代码,展示如何结合使用这些方法实现自动化测试流程。这些基础操作为Selenium自动化测试提供了核心功能支持。

2026-01-21 17:30:00 604

原创 [Web自动化] Selenium浏览器对象方法(操纵浏览器)

Selenium浏览器控制与等待机制摘要 Selenium提供了多种浏览器控制方法,包括调整窗口大小(set_window_size())、最大化窗口(maximize_window())、页面导航(forward()/back()/refresh())以及关闭浏览器(close()/quit())。在自动化测试中,等待机制至关重要,Selenium提供三种方式:显式等待(WebDriverWait配合expected_conditions)、隐式等待(implicitly_wait)和强制等待(time.

2026-01-21 10:46:08 1344

原创 [Web自动化] Selenium浏览器对象属性

Selenium WebDriver对象提供了一系列重要属性用于获取浏览器状态和页面信息。主要包括:capabilities(返回浏览器配置信息)、desired_capabilities(获取启动配置)、session_id(会话唯一标识)、title(当前页面标题)、current_url(当前页面地址)、page_source(页面HTML源码)以及窗口管理相关的current_window_handle和window_handles。这些属性在自动化测试中常用于页面验证、调试和窗口切换等场景。需要注

2026-01-20 17:00:00 1559

原创 [Web自动化] Selenium中Select元素操作方法

Selenium提供了Select类专门处理网页下拉菜单元素。通过Select类可以方便地选择选项(按索引、文本或值)、取消选择(多选菜单)、获取所有选项或已选选项。使用时需先定位select元素并初始化Select对象,然后调用相应方法操作。示例展示了如何选择"Option 2"等常见操作,适用于单选和多选下拉菜单场景。需确保已安装Selenium和对应浏览器驱动。

2026-01-20 09:39:41 417

原创 [Web自动化] Selenium元素属性和方法

本文介绍了Selenium WebDriver中元素的主要属性和方法。重点包括:元素属性如text、tag_name、size、location等用于获取元素信息;不同标签元素(text、value等属性)的获取差异;常用方法如is_displayed()、is_enabled()、click()等交互操作;以及获取元素位置的多种方式(location、rect属性等)。特别说明了不同CSS样式(display/visibility)对元素可见性的影响,并强调了成功点击元素的前提条件。这些属性和方法为自动化

2026-01-19 21:00:00 1047

原创 [Web自动化] Selenium元素定位

Selenium提供了多种元素定位方法,包括ID、Name、XPath、CSS选择器等,每种方法适用于不同场景。优先推荐使用ID和Name定位,其次考虑CSS选择器和XPath。对于动态元素需采用显式等待,隐藏元素可能需要通过JavaScript处理。新版本推荐使用find_element结合By类进行定位。合理选择定位策略能提高自动化测试效率和稳定性。

2026-01-19 18:30:00 529

原创 [Web自动化] Selenium简单使用

本文介绍了Selenium的基本使用方法,通过两个示例演示了WebDriver的核心操作。第一个示例展示如何用Chrome浏览器在百度搜索"python",包括打开网页、定位元素、输入文本和点击按钮等基本操作。第二个示例以必应搜索为例,演示了8类常用浏览器操作,如窗口控制、页面跳转、信息提取等,并加入了详细的打印信息和异常处理。代码使用简单易懂的定位方式,适合新手学习Selenium自动化测试的基本功能。

2026-01-09 21:00:00 256

原创 [Web自动化] Selenium基础介绍

Selenium基础介绍与环境搭建 Selenium是一个功能强大的Web自动化测试工具,支持多种浏览器和编程语言(如Python、Java)。它主要用于自动化测试、网页数据抓取和Web自动化任务。Selenium通过模拟用户操作(点击、输入等)来测试网页功能或获取数据。安装Selenium需要先配置Python环境,使用pip安装selenium库,并下载对应浏览器的驱动程序(如ChromeDriver或GeckoDriver)。驱动程序版本需与浏览器版本匹配,配置完成后即可编写脚本控制浏览器进行自动化操

2026-01-09 18:30:00 943

原创 [Web自动化] BeautifulSoup实例代码

本文展示了4个使用BeautifulSoup和requests库的网页爬取实例:1)获取汽车之家首页前3张标题图片并保存;2)爬取汽车之家新闻页面所有Tag标签内容;3)抓取百度新闻网页源码并保存;4)实现GitHub账号密码登录。实例代码涵盖了网页解析、内容提取、文件保存和表单提交等常见爬虫操作,使用lxml解析器处理HTML,通过find()和find_all()方法定位元素,并展示了Cookie处理和表单提交的完整流程。这些实例为Python网络爬虫开发提供了实用参考。

2026-01-07 21:00:00 211

原创 [Web自动化] BeautifulSoup提取信息

本文介绍了使用BeautifulSoup提取网页信息的核心方法。主要内容包括:1)通过.get_text()和.string提取标签文本内容;2)使用.get()或直接属性访问提取HTML标签属性;3)利用列表推导式和生成器高效处理提取的数据。文章提供了具体代码示例,展示了如何从标签中获取文本和属性,以及如何使用Python的高级特性优化数据处理流程。这些方法特别适用于网页抓取任务,能提高代码可读性和执行效率。

2026-01-07 17:30:00 642

原创 [Web自动化] BeautifulSoup导航文档树

本文介绍了BeautifulSoup库中导航文档树的方法。主要内容包括:1)使用.contents和.children访问子节点;2)通过.descendants遍历所有子孙节点;3)利用.parent和.parents查找父节点和祖先节点;4)使用.next_sibling、.previous_sibling及其迭代器处理兄弟节点。文中提供了代码示例说明各属性的用法,并指出需注意节点间的空格和换行符可能被解析为NavigableString对象。这些方法为HTML/XML文档的层次结构导航提供了灵活的工具

2026-01-06 18:00:00 353

原创 [Web自动化] BeautifulSoup搜索文档树

本文介绍了BeautifulSoup库中搜索文档树的方法,重点讲解了find()和find_all()两个核心方法的使用。find()用于查找第一个匹配项,而find_all()返回所有匹配项。文章详细说明了这些方法的参数设置,包括标签名、属性、文本内容等过滤条件。此外,还介绍了多种过滤器类型(字符串、正则表达式、列表、函数等)以及find_parents()方法的使用。通过多个代码示例展示了如何灵活运用这些方法来提取HTML/XML文档中的特定内容,为网页数据抓取和处理提供了实用指导。

2026-01-06 16:30:00 1550

原创 [Web自动化] BeautifulSoup文档树中的对象

BeautifulSoup将HTML/XML文档转换为树形结构,包含四种主要对象:Tag(标签对象,对应HTML标签,可获取名称、属性等)、NavigableString(标签内的文本内容)、BeautifulSoup(整个文档对象)和Comment(注释对象)。这些对象提供了丰富的属性和方法,如name、attrs、string、find()等,用于遍历和操作文档内容。通过解析示例HTML片段,展示了如何获取标签名称、属性和文本内容,以及如何查找注释节点。这些对象共同构成了BeautifulSoup解析文

2026-01-05 17:30:00 1012

原创 [Web自动化] BeautifulSoup模块说明

BeautifulSoup是Python中用于解析HTML/XML文档的流行库,提供文档树遍历和搜索功能。它支持多种解析器(如lxml、html5lib),能高效处理复杂文档。主要功能包括搜索、修改文档树,以及导航标签关系。安装需配合解析器(pip install beautifulsoup4 lxml)。示例展示了从HTML提取链接和文本内容,以及解析网页并规范化输出的基本用法。该库广泛应用于网页抓取和数据挖掘任务。

2026-01-05 11:00:07 374

原创 [Web自动化] Request示例代码

本文展示了使用Python requests库进行HTTP请求的多种示例代码,包括: 基础请求:GET/POST请求、自定义headers、会话保持 数据处理:JSON请求/响应、二进制文件下载 请求控制:超时设置、异常处理 爬虫应用:网页抓取、BeautifulSoup解析 API调用:RESTful API访问、参数传递、认证处理、分页响应 这些代码示例涵盖了网络请求的常见场景,从简单的数据获取到复杂的API交互,为开发者提供了实用的请求处理模板。

2026-01-03 18:00:00 874

原创 [Web自动化] Requests模块中Session对象与Cookie管理

本文介绍了Requests模块中Session对象与Cookie管理的使用方法。Session对象(requests.Session())可跨请求保持参数,如Cookies、headers等,适用于需要登录或保持会话状态的网站。示例展示了如何通过Session实现登录和访问受保护页面,以及设置默认请求参数。Cookie管理部分说明了手动设置/获取Cookies的方法,同时指出Session通常会自动处理Cookies。最后介绍了重定向的控制方式,包括禁用重定向(allow_redirects=False)和

2026-01-03 09:00:00 189

原创 [Web自动化] Requests模块请求参数

本文介绍了Requests模块的主要请求参数使用方法:1)URL参数传递可通过URL拼接或params参数;2)headers和Cookies用于定制请求头信息;3)POST请求使用data发送表单数据,json参数发送JSON数据;4)其他功能包括超时设置(timeout)、代理配置(proxies)、文件上传(files)、身份认证(auth)等;5)还涉及证书验证(verify)和重定向控制(allow_redirects)等安全相关配置。文章通过代码示例展示了各种参数的具体应用场景,并说明了不同HT

2026-01-02 17:30:00 285

原创 [Web自动化] Requests模块响应的内容

当你需要访问JSON响应时,可以使用response.json()方法,它会解析text(或content,如果text解析失败)为Python字典。需要注意的是,如果响应体不是有效的文本(例如,是二进制数据),尝试访问text属性可能会引发错误,因为解码过程可能会失败。在这种情况下,你应该使用content属性。使用requests方法后,会返回一个response对象,其存储了服务器响应的内容。:当你需要处理非文本响应体,或者需要确保数据的原始性时(例如,防止编码问题影响数据),应使用content。

2026-01-02 11:30:14 1489

原创 [Web自动化] Requests模块基本使用

本文介绍了Python的requests模块基本使用方法。requests是一个简单易用的HTTP库,支持发送各种HTTP请求。内容包含模块安装导入、GET请求(带参数和不带参数)、以及POST、PUT、DELETE等其他请求方式。示例代码展示了如何发送不同请求,包括GET请求参数设置和POST请求的数据传递方式(表单数据和JSON格式)。该模块广泛应用于网络爬虫和API调用场景。

2025-12-31 17:30:00 126

原创 [Web自动化] JavaScript动态加载与渲染

本文介绍了JavaScript动态加载与渲染的两种主要技术:AJAX和Fetch API。AJAX通过XMLHttpRequest对象实现异步通信,而Fetch API基于Promise提供了更简洁的请求方式。文章还讲解了如何使用浏览器开发者工具分析网络请求,并简要提及了React和Vue框架的虚拟DOM渲染机制。这些技术共同构成了现代Web应用中动态内容加载与渲染的核心方法。

2025-12-31 09:15:00 439

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除