下面这段代码为chrome扩展开发,想使用mysql数据库实时获取页面中获取的数据,但是好像chrome扩展开发好像不支持,应该如何解决?
const mysql = require('mysql')
//创建连接池
const connection = mysql.createConnection({
host: 'localhost', //服务器地址
user: 'root', //账号
password: '282469907', //密码
database: 'demo', //数据库名称
})
connection.connect();
// 定义要更新的字段
var field = 0
const fields = ['00:00', '01:00', '02:00','03:00', '04:00', '05:00','06:00', '07:00', '08:00','09:00', '10:00', '11:00','12:00', '13:00', '14:00','15:00', '16:00', '17:00','18:00', '19:00', '20:00','21:00','22:00', '23:00'];
// 初始化
var element;
var num = 0;
var intervalId; // 用于存储定时器的ID
element = document.getElementsByClassName('elx-cell c--tooltip');
num = num + 1;
var ee = element[4 * num];
ee.click();
function getdata(){
element = document.getElementsByClassName('elx-cell c--tooltip');
var gy5 = element[104].textContent
var gy4 = element[107].textContent
var gy3 = element[110].textContent
var gy2 = element[113].textContent
var gy1 = element[116].textContent
// 循环更新每个字段
for (field of fields) {
const sql = `UPDATE test SET \`${field}\` = CASE 类型
WHEN '供应5电价' THEN gy5
WHEN '供应4电价' THEN gy4
WHEN '供应3电价' THEN gy3
WHEN '供应2电价' THEN gy2
WHEN '供应1电价' THEN gy1
END;`;
connection.query(sql, (err, result) => {
if (err) {
console.error(err);
return;
}
console.log(`更新 ${field} 成功`);
});
}
// 关闭连接
connection.end();
console.log(gy5 + "\n" + gy4 + "\n" + gy3 + "\n" + gy2 + "\n" + gy1);
num = num + 1;
var ee = element[4 * num];
ee.click();
if(num > 23){
num = 0;
}
}
function run(){
intervalId = setInterval(getdata, 500); // 每5毫秒运行一次getdata()
}
function stop(){
clearInterval(intervalId); // 清除定时器
// 初始化
num = 0;
element = document.getElementsByClassName('elx-cell c--tooltip');
num = num + 1;
var ee = element[4 * num];
ee.click();
}
chrome.runtime.onMessage.addListener((message) => {
console.log(message)
if (message.extension === 'ON') {
run();
} else {
stop();
}
})