自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 收藏
  • 关注

原创 DrissionPage 多个页面间进行切换

【代码】DrissionPage 多个页面间进行切换。

2024-12-05 10:31:29 1162

原创 js 表单提交时 给 input 赋值与手动输入的区别

例如,使用 input.value = '新值' 将不会触发 input 或 change 事件。当用户在输入框中输入内容时,会触发一些特定的事件,例如 input、change 和 keydown 等事件。在 JavaScript 中,给 元素赋值与用户手动输入之间存在一些关键的区别,尤其是在事件触发、表单提交和元素状态方面。// 通过 JavaScript 赋值并触发事件。// 创建并触发 change 事件。// 创建并触发 input 事件。// 监听 input 事件。

2024-10-23 10:22:49 433

原创 tkinter Listbox 列表框实现多列对齐排列并绑定下拉框和滚动条

【代码】tkinter Listbox 列表框实现多列对齐排列并绑定下拉框和滚动条。

2024-10-18 10:56:21 504

原创 nodriver 切换普通的iframe和隐藏的iframe

nodriver 在切换到隐藏的iframe是有些麻烦的,并不能直接搜索到iframe。

2024-08-06 16:53:13 350

原创 新的自动化工具 nodriver的使用

不再有 webdriver,不再有 selenium,没有 chromedriver 二进制文件或 Selenium 依赖项。和pyppeteer 类似,异步执行,不过nodriver规避了检测,nodriver 只执行css,不能执行xpath。Undetected-Chromedriver python 包 的官方后继者。

2024-08-06 16:35:44 1522

原创 pyinstaller [13440] Failed to execute script ‘pyi_rth_multiprocessing‘ due to unhandled exception

在打包时加--hiddenimport=_socket。pyinstaller 打包程序报。

2024-07-30 17:31:02 415

原创 SMS-Activate 接码

api = SMSActivateAPI('密匙')if count >= 24:#循序查询2分钟。api = SMSActivateAPI('密匙')api = SMSActivateAPI('密匙')# STATUS_WAIT_CODE - 等待短信。# 取消号码 返回 ACCESS_CANCEL。try:# go接码谷歌邮箱 0表示俄罗斯。2. 查看所需服务的代码符号,点击见表。5. 2分钟未收到短信码则取消手机号。查看国家代码符号点击见表。

2024-07-26 18:18:05 2983

原创 js 请求blob:https:// 图片

方式164>c;for(c=0;t-t%3>c;xhr.send();""", uri)方式2xhr.send();});if(img){}else{

2024-07-12 19:05:03 1085

原创 PyQt5 异步打开外部exe程序持续运行

【代码】PyQt5 异步打开外部exe程序持续运行。

2024-06-25 16:39:30 258 2

原创 undetected_chromedriver 控制已打开的浏览器

undetected_chromedriver 通过端口控制已打开的浏览器时,会打开一个多余的空白窗口,鼠标放在Chrome() 按ctrl+B查看源码,找到。

2024-06-20 11:27:05 849

原创 python 打开文件窗口和另存为文件窗口,win32con,win32gui

【代码】python 打开文件窗口和另存为文件窗口,win32con,win32gui。

2024-06-12 10:33:42 415

原创 python 读取csv报错UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0x87 in position 0: invalid start

pandas 和 csv 读取失败,一种方法是手动另存为时改变编码,以下是代码读取,可以使用https://cdn.jsdelivr.net/npm/xlsx/dist/xlsx.full.min.js 在浏览器上读取,nodejs需要安装两个库 npm install express xlsx express-fileupload -g。2. nodejs 写一个服务,python调用接口。python接口调用。

2024-03-20 23:15:10 599

原创 pyqt5 QWebEngineView 重写mousepressevent捕获鼠标点击事件,无响应

QWebEngineView 加载网页后,重写mousepressevent捕获鼠标点击事件,无响应原因是。QWebEngineView在加载界面后,被本身的child接收了该事件,解决办法:同过重载event,截取QEvent::ChildAdded事件。

2024-03-04 19:23:33 943

原创 pyqt5 QWidget 弹窗消息

【代码】pyqt5 QWidget 弹窗消息。

2024-02-03 14:04:08 832

原创 scrapy middleware 中间件 使用 asyncio

【代码】scrapy middleware 中间件 使用 asyncio。

2024-02-02 10:39:45 521

原创 python 调用SumatraPDF 静默打印PDF

⽆边框 noscale/缩⼩到合适⼤⼩(默认)shrink/合适⼤⼩ fit/compat 兼容。# 分为 Portrait (纵向)和 Landscape (横向)两类。SumatraPDF 文档。

2024-01-26 10:36:55 2120 8

原创 获取mac地址,内网ip,当前ip位置信息

获取当前ip位置信息。

2024-01-19 18:24:15 2255 2

原创 pypdf 将 PDF两个页面拼接成一个页面进一步详解

pypdf 将两个PDF页面在x轴,y轴进行平移调整位置之后,直接用merge_page拼接在一起,或者PageObject.create_blank_page 先创建一个空白页面,再将两个页面添加到空白页面上,2. 当 left和buttom都不为0,即RectangleObject([91.841, 38.5506, 261.791, 95.1271])方法2调整之后的效果 和left 和buttom 都为0时用方法1拼接发效果一样。小日子的两个案例,拼接在右侧。用上面方法拼接出来的效果,

2024-01-05 17:09:33 2089

原创 selenium 自动下载120版本以上的chromedriver最新版本

【代码】selenium 自动下载118版本以上的chromedriver驱动。

2024-01-05 15:13:27 1635 1

原创 PyPDF2 将pdf的两个页面拼接成一个页面

【代码】PyPDF2 将pdf的两个页面拼接成一个页面。

2023-12-22 18:30:35 970

原创 python 用OpenCV 将图片转视频

【代码】python 用OpenCV 将图片转视频。

2023-12-22 17:25:31 3045 2

原创 spacy 将英文标题切分成短语

语言包为en_core_web_sm,根据spacy版本到https://github.com/explosion/spacy-models/releases?q=en_core_web_sm&expanded=true下载,pip install en_core_web_sm-3.7.1-py3-none-any.whl,en_core_web_sm语言包中的sm含义,

2023-11-29 09:11:48 520

原创 dos 命令 for循环 判断路径中包含某字符并移动文件

echo 路径%path1% 中不包含字符串crontab_master。echo 移到文件夹%path1% 到 %path2%echo %GenFolder%目录不存在,已创建该目录!echo %GenFolder%目录存在,直接移动。

2023-11-24 16:04:56 753

原创 pyinstaller 自动更新版本

4.关闭当前进程,移除旧文件夹里面的文件,将新文件移到当前位置。3.将旧的配置文件移到新配置文件夹中。1. 检测新版本,弹窗提醒更新。2.下载更新文件压缩包。

2023-10-24 15:35:13 2135 2

原创 logging 记录日志

ch.setLevel(logging.INFO) # 输出到console的log等级的开关。fh.setLevel(logging.DEBUG) # 用于写到file的等级开关。logger.setLevel(logging.INFO) # Log等级总开关。# 第三步,再创建一个handler,用于输出到控制台。# 第二步,创建一个handler,用于写入日志文件。# 第五步,将logger添加到handler里面。# 第四步,定义handler的输出格式。# 第一步,创建一个logger。

2023-07-20 19:17:45 82

原创 threading 设置线程超时

task1.setDaemon(True) # 设置线程为守护线程,主线程结束,子线程随之结束,不等待。# join() 主线程等待子线程结束,一直等待,多线程运行时间等于最长子线程的时间。u.join(timeout=6) # 设置线程超时,6s 后线程1随之结束。print('线程2结束')

2023-07-19 18:39:10 755

原创 pymysql 重试连接数据库

self.conn.commit() # 每次查询后进行事务提交,下次查询到数据库更新后的数据。self.conn.commit() # 每次查询后进行事务提交,下次查询到数据库更新后的数据。def new_link(self):#重新连接数据库。

2023-07-19 17:53:05 1242

原创 js 获取某标签下的所有标签的属性值

递归获取标签下的所有子标签。# 获取标签下的所有标签的属性。

2023-07-07 11:15:42 1000

原创 pyinstaller 打包的exe,关掉图标时关掉后台进程

image = Image.open(BytesIO(b64decode(favicon_ico))) # 打开 ICO 图像文件并创建一个 Image 对象。icon = pystray.Icon("name", image, "插件", menu) # 创建 PyStray Icon 对象,并传入关键参数。menu = (pystray.MenuItem(text='退出', action=on_quit_clicked),) # 创建菜单项元组。icon.stop() # 对象停止方法。

2023-07-06 17:03:00 498

原创 js 获取 table所有tr标签下第一个td的值

<table class="gridtable"> <thead> <tr> <th style="width: 20px;"> <input type="checkbox" name="allCheck" onclick="checkAll('allCheck', 'itemCheck')"> </th> <th >店铺&lt

2023-06-28 17:06:38 965

原创 批量解压zip

param zip_file_path: .tar 压缩文件。:return 解压 zip 文件,返回所有解压文件夹下的路径。:param unzip_file_path: 解压后的路径。:param index_keys: 判断标题的关键字。:param index_keys: 判断标题的关键字。:param filepath: 文件夹路径。:param filepath: 文件路径。:param sheet_name: 表名。:unzip_path 解压文件路径。:zip_path 压缩文件路径。

2023-06-28 15:51:59 198

原创 tkinter 使用pystray将 图标最小化到托盘

menu = pystray.Menu(pystray.MenuItem('显示', self.show_window, default=True), pystray.MenuItem(text='最近通知', action=lambda event:self.show_notify()), pystray.Menu.SEPARATOR, pystray.MenuItem('退出', self.quit_window))', compound='left', width=16)

2023-06-21 15:13:08 1122

原创 更改打印机首选项设置

devmode.PaperSize = 0 # 纸号 默认0 则PaperLength,PaperWidth有效 或者设置 win32con.DMPAPER_B5 表示纸号为B5。devmode.Orientation = win32con.DMORIENT_LANDSCAPE # 横向打印。devmode.FormName = "test1" # 打印机首选项中,页面设置的名称。devmode.Copies = 1 #要打印的份数。# devmode.Scale = 0 #缩放。

2023-06-20 18:00:21 1102

原创 psutil 获取进程信息

print('进程运行命令', p.cmdline())#进程运行命令。print('进程bin路径:', p.exe()) #进程bin路径。print('父进程pid:', p.ppid()) #父进程pid。print('运行状态:', p.status()) #运行状态。print('进程名称:', p.name())#显示进程名称。print('父进程:', p.parent()) #父进程。print('进程pid:', p.pid) #进程pid。# 判断进程是否存在。

2023-06-20 17:33:36 761

原创 获取打印机状态,脱机或者在线

status = '脱机' if (attributes & 0x00000400) >> 10 > 0 else '在线'value = f'{v["x"]}毫米 x {v["y"]}毫米'#获取默认打印机的名称 device_name 打印机名称。# 获取打印机状态 device_name打印机名称。return '未获取'# 返回获取所有打印机名称信息。# 判断是否默认打印机。# 打印机首选项页面设置的名称。# 打印机首选项页面设置的尺寸。

2023-06-20 17:28:44 1306 1

原创 win32gui.LoadImage 报 pywintypes.error: (0, ‘LoadImage‘, ‘No error message is available‘)

self.start_server_button = Button(self.this_window, text="启动WEB服务", bg="lightblue", width=10,self.start_server_button = Button(self.this_window, text="清空日志", bg="lightblue", width=10,self.log_data_Text = Text(self.this_window, width=66, height=29) # 日志框。

2023-06-14 14:51:47 580

原创 在不安装ghostscript软件情况下,Windows中将ghostscript DLL(gsdll64.dll)库提供给python,并将资源打包进exe

3.gs9.54.0 为安装的 ghostscript软件,favicon.ico 为图标,ghostscript.py和gsprint.py 为ghostscript库修改后的文件, image.py图标及gif动画转为base64写入py文件,main.py 为主文件,main.spec 打包的配置文件。__init__.py 改成ghostscript.py,_gsprint.py 改成 gsprint.py,_errors.py里面的内容复制替换。将图片文件,比如图标,背景转换成py文件便于打包。

2023-06-14 12:16:12 2096

原创 python selenium 通过端口关闭进程

"""根据端口号杀死对应的进程"""# 根据端口号查询pid。# 杀死占用端口的pid。

2023-04-22 11:51:48 3979 1

原创 playwright 下载pdf

playwright 下载pdf

2023-03-07 18:34:33 1019

原创 tkinter 同一界面滚动展示多张图片

tkinter 同一界面滚动展示多张图片from tkinter.scrolledtext import ScrolledText

2023-02-25 16:37:08 1129

空空如也

空空如也

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

TA关注的人

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