这里写自定义目录标题
function simulateMouseClick(x, y) {
let event = new MouseEvent("click", {
clientX: x, // 根据水平偏移量计算 clientX
clientY: y, // 根据垂直偏移量计算 clientY
bubbles: true, // 是否冒泡
cancelable: true, // 是否可取消
view: window // 触发事件的窗口
});
// 指定元素触发点击事件
let targetElement = document.elementFromPoint(x, y);
element.dispatchEvent(event);
}
计算图片距离document的可视化位置,计算X Y 根据识别位置+具体点击点偏移量得到内容
function clickElementInContainer (captchaEl, absX, absY) {
// 起始点位置
function getElementXY (element) {
const { x, y } = element.getBoundingClientRect()
return { x, y }
}
// 点击位置
function simulateMouseClick (x, y) {
const event = new MouseEvent('click', {
clientX: x, // 根据水平偏移量计算 clientX
clientY: y, // 根据垂直偏移量计算 clientY
bubbles: true, // 是否冒泡
cancelable: true, // 是否可取消
view: window // 触发事件的窗口
})
// 指定元素触发点击事件
const targetElement = document.elementFromPoint(x, y)
targetElement.dispatchEvent(event)
}
// 获取开始位置
const { x: startX, y: startY } = getElementXY(captchaEl)
simulateMouseClick(startX + absX, startY + absY)
}
const captchaEl = document.querySelector('#captchaClickImg')
// 点击图像内30 * 30的位置
clickElementInContainer(captchaEl, 30, 30)