金天牛

导航

2025年8月14日 #

使用Python在selenium中实现动态截图

摘要: 前言 在做自动化中,有些页面去截图时,可能截图的结果仅仅是最后的结果,而中间的一些变化步骤,是无法关注到的,这就给定位问题造成了麻烦。因此有时进行动态截图就是有必要的。 分析 那么如何实现动态截图的。经过了解,很多方法就是,逐帧截图图片,每一帧有持续时长,然后把这些图片合成为一张,这样就形成了一个动 阅读全文

posted @ 2025-08-14 17:46 金天牛 阅读(91) 评论(0) 推荐(0)

2025年8月11日 #

使用python在selenium自动化中实现长截图

摘要: 前言 在selenium自动化中,截图的功能是很简单的,一句代码就能实现。 driver.get_screenshot_as_file(pic_name) 问题 可当前却碰到另一个问题,一个页面在一个屏幕放不下,需要滑动才能逐步显示全,而我需要获取这个页面的所有显示作为一张图片,那只能使用长截图了 阅读全文

posted @ 2025-08-11 14:40 金天牛 阅读(83) 评论(0) 推荐(0)

2025年6月27日 #

selenium并发请求的实现-并发日志篇

摘要: 前言 前面我们使用了线程、进程、协程实现了并发。在实践操作中,报错时发现定位问题很麻烦:不清楚报错日志属于哪个并发请求的操作。 那么有没有什么办法好区分日志属于哪个的请求呢:答案是在日志格式中加上请求ID,这样每个请求就能根据ID来分辨是哪个的请求了。 实现: 首先用到的是contextvars库, 阅读全文

posted @ 2025-06-27 14:23 金天牛 阅读(41) 评论(0) 推荐(0)

2025年6月5日 #

selenium并发请求的实现-第二篇

摘要: 前言 上篇我们介绍了如何用多协程asyncio来实现并发,本篇我们使用多线程threading和多进程multiprocessing来实现并发。 正文 一、同步请求代码优化 第一步,还是使用原来同步请求百度的代码,增加了浏览器启动时的一些参数options.add_argument('--no-sa 阅读全文

posted @ 2025-06-05 12:02 金天牛 阅读(62) 评论(0) 推荐(0)

2025年5月30日 #

selenium并发请求的实现-第一篇

摘要: 前言 原本使用selenium爬取数据,只能一个个爬取。如果想提升爬取速度,短时间获取更多数据,那么就需要并发执行了。那么我们先了解下python并发编程的实现方式 并发介绍 Python的并发编程有三种方式:多线程,多进程,多协程,下面对比说明下他们3个的特点。 实现过程 在了解以上信息后,先决定 阅读全文

posted @ 2025-05-30 19:31 金天牛 阅读(65) 评论(0) 推荐(0)

2025年4月30日 #

selenium的text方法获取不了标签中的文本之原因分析

摘要: 一、现象 现象: 通过driver.find_element(By.XPATH, "//div[@class='-category']").text 方法获取的文本值为空,元素可以定位到,但获取不了值。 二、原因分析 原因1。 当前元素可能因页面未完全加载而不可见 原因2. 当前定位的元素可能被隐藏 阅读全文

posted @ 2025-04-30 17:24 金天牛 阅读(204) 评论(0) 推荐(0)

2025年4月3日 #

python使用装饰器的一些总结

摘要: 一、装饰器是什么 python的装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。 二、我的 阅读全文

posted @ 2025-04-03 17:27 金天牛 阅读(25) 评论(0) 推荐(0)

2024年4月24日 #

定时任务和fastapi的结合来解决定时任务被关闭的问题

摘要: 前言: 最早以前使用apscheduler,写了些定时脚本,放在服务器上运行。可服务器是共用的,偶尔会被关闭,导致定时任务不在了,而过了多天才发现。如此反复几次,决定解决这个问题。 方法: 经研究,使用fastapi和apscheduler结合,利用gunicorn作为 WSGI HTTP 服务,这 阅读全文

posted @ 2024-04-24 14:36 金天牛 阅读(566) 评论(0) 推荐(0)

2024年2月19日 #

selenium截图功能

摘要: 在服务器运行selenium时,用例报错,只看代码和日志,分析起来还是有点难度的。针对这点,selenium还提供了截图功能,保留当前页面,方便后续分析错误。 常用方法介绍如下: 一、保存为png格式 方法1:save_screenshot 方法2:get_screenshot_as_file 这2 阅读全文

posted @ 2024-02-19 15:44 金天牛 阅读(115) 评论(0) 推荐(0)

2023年11月15日 #

centos上Python3.10报错 No module named ‘_ssl‘

摘要: 在搭建web服务器时,需要使用Gunicorn 模块,可在使用Gunicorn 启动时,报错No module named ‘_ssl‘,历经周折解决了这个问题,解决过程记录如下: 说明1:Gunicorn 是一个unix上被广泛使用的高性能的Python WSGI UNIX HTTP Server 阅读全文

posted @ 2023-11-15 17:20 金天牛 阅读(4247) 评论(0) 推荐(1)