2017-12-06 1 views
0

내 WordPress 대시 보드에 로그인 할 때 제대로 작동하는 AutoHotKey 스크립트가 있습니다.Schedule AutoHotKey Script

나는이 스크립트를 실행하도록 일정을 추가 할 :

  • 실행 9am에이 스크립트를 매일 특정 날짜를 제외
  • 제외 토요일과 일요일
  • 를 (예 : 크리스마스 날 올해 12/17분의 25) 여기서

현재 코드

; Start script, open website login URL 
Run http://www.digitango.com/wp-login.php 

; Wait for page to fully load 
Sleep, 2000 

; Click Username Field 
Click, 850, 430 

; Selected all items in input field 
Send, ^{a} 

; Remove all from input field 
Send, {Del} 

; Enter User Name 
Send, username 

; Click Password Field 
Click, 850, 510 

; Selected all items in input field 
Send, ^{a} 

; Remove all from input field 
Send, {Del} 

; Enter Password 
Send, password 

; Click Login Button 
Click, 1075, 560 

; Wait f 
Sleep, 2000 

; Notify script has started 
MsgBox, You successully logged in automatically! 

; Enable exit script by hitting escape key 
Esc::ExitApp 

; End Script 
Return 
이다
+2

내 머리 꼭대기에서 벗어나십시오 ... 스크립트에서 TaskScheduler를 통해 스크립트를 트리거하고 오늘 날짜를 가져 와서 오늘 날짜가 월요일과 금요일 사이가 아닌 25 일이 아닌지 알아 보려면 몇 가지 평가를 실행하십시오. 오늘의 오늘은 좋은 하루입니다. 그런 다음 로그인 스크립트를 사용하십시오. 그렇지 않으면 내일 9시에 나가십시오. [날짜 계산] (https://autohotkey.com/board/topic/72923-calculate-dates/) –

+1

여기서 큰소리로 생각해 보면 ... TaskScheduler/Bat/Firefox/TamperMonkey 또는 이와 유사한 칵테일을 사용하여 동일한 결과를 얻을 수 있습니다. Task Scheduler가 Bat 파일을 트리거하고 bat 파일이 원하는 URL로 Firefox를 시작하면 오늘의 자격이있는 경우 TamperMonkey 스크립트가 로그인을 처리합니다. –

+1

TaskScheduler에서 평일 만 설정할 수도 있지만 특정 예외는 설정할 수 없습니다. – HaveSpacesuit

답변

1

이것은 AutoHotKey에서 다하는 것에 대한 귀하의 질문에 답변하지 못합니다. 죄송합니다. 내가 제공하는 것은 TamperMonkey FF 또는 TamperMonkey Chrome에서 기본 JavaScript입니다.

이 솔루션을 사용하려면 예약 된 작업에 의해 트리거되는 Bat 파일을 만들어야합니다. 귀하의 박쥐 파일은 원하는 URL에서 원하는 브라우저를 실행하고 거기에서 TamperMonkey는 사용자가 로그인해야하는지 여부를 결정하기 위해 오늘 날짜를 평가합니다. Javascript를 사용하며 월은 0에서 11까지 (일반적으로 예상하는대로 1에서 12가 아닌) 표현되므로 유의하십시오. new Date(2017, 11, 25)이 실제로 December 25 2017이고 November 25 2017이 아닌 이유는 무엇입니까?

// 
//TamperMonkey script 
// 
var workDays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"];//set your working days 
var holidays = [new Date(2017, 11, 25).setHours(0, 0, 0, 0), new Date("2017", "11", "6").setHours(0, 0, 0, 0)];//set your holidays 
var today = new Date();//get today's date 

/* 
This function will return the name of the day 
*/ 
function getDayName(dateStr, locale) { 
    var date = new Date(dateStr); 
    return date.toLocaleDateString(locale, { weekday: 'long' }); 
} 

/* 
If today's day is in the workDays array, and today is not in the hollidays array 
Then login 
Else Don't log in 
*/ 
if (workDays.indexOf(getDayName(today, "en-US")) > -1 && holidays.indexOf(new Date(today).setHours(0, 0, 0, 0)) == -1) { 
    console.log("working today"); 
    document.getElementById("user_login").value = "your username";//enter your username 
    document.getElementById("user_pass").value = "your pwd";//enter your password 
    document.getElementById("wp-submit").click();//click the login button 
} 
else { 
    console.log("not working today"); 
} 

을 따라. 여기서 누락 된 부분은 TaskScheduler뿐입니다. 그래서 내가 가지고있는 것은 FireFox @ www.google.com을 시작하는 박쥐 파일입니다. 페이지가로드되면 TamperMonkey가 오늘 날짜를 인계 받아 평가합니다. 오늘 날짜가 좋은 날인 경우 텍스트 필드에 텍스트가 자동으로 삽입되고 버튼이 클릭됩니다.

내가 그 파일에 박쥐 파일 "GetMeThere.bat" 을 만들어, 내가 쓴 :

"C : \ 프로그램 파일 Mozilla Firefox를 \의 firefox.exe \ (86)" "www.google. com "

TamperMonkey에서 필자는 새 스크립트를 만들었으며이 스크립트는이 모든 것입니다.

// ==UserScript== 
// @name   SearchOnGoogleOnWorkDays 
// @namespace http://tampermonkey.net/ 
// @version  0.1 
// @description try to take over the world! 
// @author  You 
// @match  https://www.google.ca* 
// @grant  none 
// ==/UserScript== 

// 
//TamperMonkey script 
// 
var workDays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"];//set your working days 
var holidays = [new Date(2017, 11, 25).setHours(0, 0, 0, 0), new Date("2017", "11", "6").setHours(0, 0, 0, 0)];//set your holidays 
var today = new Date();//get today's date 

/* 
This function will return the name of the day 
*/ 
function getDayName(dateStr, locale) { 
    var date = new Date(dateStr); 
    return date.toLocaleDateString(locale, { weekday: 'long' }); 
} 

/* 
If today's day is in the workDays array, and today is not in the hollidays array 
Then login 
Else Don't log in 
*/ 
if (workDays.indexOf(getDayName(today, "en-US")) > -1 && holidays.indexOf(new Date(today).setHours(0, 0, 0, 0)) == -1) { 
    console.log("working today"); 
    //document.getElementById("user_login").value = "your username";//enter your username 
    //document.getElementById("user_pass").value = "your pwd";//enter your password 
    //document.getElementById("wp-submit").click();//click the login button 
    document.getElementById("lst-ib").value = "search for this"; 
    var els = document.getElementsByName("btnK"); 
    console.log(els); 
    if(els != null){els[0].click();} 
} 
else { 
    console.log("not working today"); 
} 

을 유의하시기 바랍니다 나는 개념을 증명하기 위해 매우 빠르게 이것을 함께 넣어. 이 // @match https://www.google.ca*은 프로덕션 코드가 너무 광범위하기 때문에 내 게시 된 TamperMonkey 스크립트는 그대로 무한 검색 루프로 들어갑니다. 그러나 그것은 개념이 효과가 있다는 것을 증명합니다. 내 박쥐 파일을 두 번 클릭하면 Firefox가 www.google.com에서 실행되고 TamperMonkey가 자동으로 내 검색을 수행합니다.

+0

나는 이것을 시도해야 할 것이지만, 더 나은 해결책이라고 생각한다. –

+0

Bat 파일을 설정하는 방법에 대해 자세히 설명해 주시겠습니까? –

+0

@HeckRaiser, 예, 로컬로 작성하고 테스트 한 다음 내 대답을 업데이트하겠습니다. –