- 博客(91)
- 收藏
- 关注
原创 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
原创 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
原创 python 调用SumatraPDF 静默打印PDF
⽆边框 noscale/缩⼩到合适⼤⼩(默认)shrink/合适⼤⼩ fit/compat 兼容。# 分为 Portrait (纵向)和 Landscape (横向)两类。SumatraPDF 文档。
2024-01-26 10:36:55
2120
8
原创 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
原创 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
原创 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 >店铺<
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
原创 tkinter 同一界面滚动展示多张图片
tkinter 同一界面滚动展示多张图片from tkinter.scrolledtext import ScrolledText
2023-02-25 16:37:08
1129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人