Thursday, 7 May 2020

Using Electron & Robotjs to automate clicking?

Hi! I'm trying to automate some clicking. My goal is to have a "Kill Switch". But I understand that NodeJS is Single-threaded, so my idea of having a while-loop blocks the event loop and that causes the globalShortcut to not be able to listen for keypresses. I need help figuring out an alternative.This is a snippet of my codeconst startTestRun = (cursorPositions) => { interrupt = !interrupt; while (true) { if (interrupt) { break; } // Click on Chat robot.moveMouse(cursorPositions.a.x, cursorPositions.a.y); robot.mouseClick("left"); robot.setMouseDelay(250); // Click on Contact robot.moveMouse(cursorPositions.b.x, cursorPositions.b.y); robot.mouseClick("left"); robot.setMouseDelay(800); // Click on Text Field robot.moveMouse(cursorPositions.c.x, cursorPositions.c.y); robot.mouseClick("left"); robot.setMouseDelay(300); // Archive Chats robot.moveMouse(cursorPositions.a.x, cursorPositions.a.y); // robot.mouseClick("right"); robot.setMouseDelay(250); robot.moveMouse(cursorPositions.d.x, cursorPositions.d.y); robot.mouseClick("left"); robot.setMouseDelay(250); } }; const toggleRunListener = (cursorPositions) => { const ret = globalShortcut.register('F7', () => { console.log('F7 is pressed'); startTestRun(cursorPositions); }); if (!ret) { console.log('registration failed') } // Check whether a shortcut is registered. console.log(globalShortcut.isRegistered('F7')); }; Thanks

Submitted May 07, 2020 at 11:23AM by davemadgew

No comments:

Post a Comment