|
|
|
function writeInput(selector, content) { |
|
const inputElement = document.querySelector(selector); |
|
const textToInput = content; |
|
|
|
|
|
inputElement.value = ''; |
|
|
|
|
|
for (let i = 0; i < textToInput.length; i++) { |
|
const char = textToInput[i]; |
|
const keyCode = char.charCodeAt(0); |
|
|
|
|
|
const keydownEvent = new KeyboardEvent('keydown', { |
|
bubbles: true, |
|
cancelable: true, |
|
key: char, |
|
code: `Key${char.toUpperCase()}`, |
|
keyCode: keyCode, |
|
which: keyCode |
|
}); |
|
inputElement.dispatchEvent(keydownEvent); |
|
|
|
|
|
const keypressEvent = new KeyboardEvent('keypress', { |
|
bubbles: true, |
|
cancelable: true, |
|
key: char, |
|
code: `Key${char.toUpperCase()}`, |
|
keyCode: keyCode, |
|
which: keyCode |
|
}); |
|
inputElement.dispatchEvent(keypressEvent); |
|
|
|
|
|
inputElement.value += char; |
|
|
|
|
|
const inputEvent = new Event('input', { bubbles: true }); |
|
inputElement.dispatchEvent(inputEvent); |
|
|
|
|
|
const keyupEvent = new KeyboardEvent('keyup', { |
|
bubbles: true, |
|
cancelable: true, |
|
key: char, |
|
code: `Key${char.toUpperCase()}`, |
|
keyCode: keyCode, |
|
which: keyCode |
|
}); |
|
inputElement.dispatchEvent(keyupEvent); |
|
} |
|
} |
|
|
|
|
|
|
|
function findElement(selector, callback) { |
|
const intervalid = setInterval(() => { |
|
const element = document.querySelector(selector); |
|
if (element) { |
|
clearInterval(intervalid); |
|
console.log("find element"); |
|
callback(element); |
|
|
|
|
|
const intervalid2 = setInterval(() => { |
|
callback(element); |
|
}, 100); |
|
|
|
|
|
setTimeout(() => { |
|
clearInterval(intervalid2); |
|
console.log("click"); |
|
document.querySelector("#query_button").click(); |
|
}, 2000); |
|
} |
|
}, 100); |
|
} |
|
|
|
|
|
|
|
function getDate() { |
|
let date = new URLSearchParams(window.location.search).get('date'); |
|
if (!date) { |
|
date = new URLSearchParams(window.parent.location.search).get('date'); |
|
} |
|
console.log(date); |
|
|
|
if (date) { |
|
|
|
|
|
|
|
const dataArr = date.match(/\d+/g); |
|
if (dataArr.length >= 6) { |
|
let start_date = dataArr.slice(0, 3).map(num => num.padStart(2, '0')); |
|
let end_date = dataArr.slice(3, 6).map(num => num.padStart(2, '0')); |
|
start_date[0] = start_date[0].padStart(4, '2025'); |
|
end_date[0] = end_date[0].padStart(4, '2025'); |
|
findElement("#start_date textarea", () => { |
|
writeInput("#start_date textarea", start_date.join('-')); |
|
writeInput("#end_date textarea", end_date.join('-')); |
|
}); |
|
} else { |
|
|
|
date = dataArr.map(num => num.padStart(2, '0')); |
|
date[0] = date[0].padStart(4, '2025'); |
|
date = date.join('-'); |
|
|
|
findElement("#start_date textarea", () => { |
|
writeInput("#start_date textarea", date); |
|
writeInput("#end_date textarea", date); |
|
}); |
|
} |
|
} |
|
} |
|
|
|
|
|
getDate(); |