# JS

js-radio表单结构

该类型下面有以下方法:

1. radioObject.click()

click() 方法用于在单选按钮上模拟一次鼠标点击:

2. radioObject.checked

这个是直接改变按钮的状态,而不触发click事件(有点像将链接标记为已经按过,但是)。

阅读全文 »

# JS
### js-获取标签元素data-xxx属性值的方法

标签上有两个属性data-id 和 data-user-name, 需要通过js去获取

个人认为较为好用的方法为:使用getAttribute/setAttribute/removeAttribute ,较为直观和易读。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
let user = document.querySelector("#user");

// 取值
console.log(user.getAttribute("data-id")); // 666
console.log(user.getAttribute("data-user-name")); // Tom
console.log(typeof user.getAttribute("data-id")); // string

// 赋值
user.setAttribute("data-id", 777);

// 新增属性
user.setAttribute("data-age", 23);

// 删除属性
user.removeAttribute("data-user-name");
// <div id="user" data-id="777" data-age="23"></div>

阅读全文 »

# JS
因为divs是nodeList而不是array nodeList是只读的,反映的是文档节点的实时结构;

1
2
console.log(divs instanceof Array);; //false
console.log(divs instanceof NodeList);//true
要想把nodeList像数组一样操作,得先把divs转换为array;
1
2

var divsArray = Array.prototype.slice.call(divs,0);

然后,交换“位置”,注意,这只是交换两个节点对象在数组中的位置,而不是在DOM中的位置

1
2
3
4
5
console.log("before:",divsArray);//[div#test, div#test2] 
var temp = divsArray[0];
divsArray[0] = divsArray[1];
divsArray[1] = temp;
console.log("after:",divsArray);//[div#test2, div#test]

阅读全文 »

# JS

〇、前情提要

今天在填写HUST华中科技大学军理线上作业的时候,看着满屏幕的选择题,我望了望手中的答案,突然想到,有没有先人已经做好了的脚本可以使用呢?

然后在油叉上面找了找发现了这个: HUST华中科技大学军理线上作业简易自动填充助手 (greasyfork.org)

这是它的github页面: HUST-MT-Helper

在尝试安装并使用之后,我发现并不能正常使用,主要原因是华中科技大学出版社的官网更新了,原有的域名和内容编排都发生了变化,于是我就开始尝试自己将其中的js代码进行改写。

具体改写过程在这里不再赘述,但是想要在这里记录一下自己所遇到的几个问题,以及学到的几个知识。

阅读全文 »

# python

在实际操作中,我们常常会从文件中输入和输出,在这个时候我们就需要调用相关的函数进行读取和写入操作,在下面就记录几种较为常用的方式

阅读全文 »

# python
# 图形处理

python中的OCR工具

此内容是直接询问ai + 查询相关资料学习到的,只能说ai确实改变了原有的常规学习方式

在python中可以很好地实现图片的处理以及进行OCR文字识别,所以说我们选择使用python进行文字的识别。

为了实现我们的目标,我们需要使用到OpenCV库来处理图像,并使用Tesseract OCR进行字符识别。

预备工作

Tesseract OCR 除了需要import还需要下载他们的本地工具,我们可以在他们的github上找到适用于window的安装程序

pytesseract · PyPI | 查看python库详情

pip import pytesseract 安装库

然后在 Introduction | tessdoc (tesseract-ocr.github.io) 里面找到你想要的版本,会跳转到相应的下载位置。

下载完成之后将下载位置的基础目录加入PATH 然后重启电脑。

关于的详细运用可以看看tesseract-ocr,基本安装配置,以及python中如何使用?_哔哩哔哩_bilibili

过程分析

在这里我们的目标是将原有图片截取所需部分,然后进行文字的识别

在这里先是使用cv2 进行图片处理,然后对于处理后的图片使用了pytesseract 作为文字识别的工具,调用了pytesseract.image_to_string(img, lang='eng', config='--psm 6') 进行文字识别

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import cv2
import pytesseract
import matplotlib.pyplot as plt # plt 用于显示图片
# 读取图片

img = cv2.imread('test.jpg')
# 定义要提取的区域,这里我们假设我们要从左上角开始,提取50x50的矩形区域
top_left_x = 100
top_left_y = 100
dx = 50
dy = 50
bottom_right_x = top_left_x + dx
bottom_right_y = top_left_y + dy

# 提取区域
crop_img = img[top_left_y:bottom_right_y, top_left_x:bottom_right_x]

# 将灰度转换为黑白,提高识别率
gray = cv2.cvtColor(crop_img, cv2.COLOR_BGR2GRAY)
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1]

# 使用Tesseract进行字符识别
data = pytesseract.image_to_string(thresh, lang='eng', config='--psm 6')

print(data)

# 如果有多个区域需要识别,可以将上述代码放在循环中
阅读全文 »

# 未完成

考研数学是指在中国大陆地区研究生入学考试中的一种专业课程考试科目,其目的是测试考生在数学方面的基本理论知识、基本技能和运用能力。它包含高等数学、线性代数、概率论和数理统计四个部分。

阅读全文 »
0%