이것은 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가 자동으로 내 검색을 수행합니다.
내 머리 꼭대기에서 벗어나십시오 ... 스크립트에서 TaskScheduler를 통해 스크립트를 트리거하고 오늘 날짜를 가져 와서 오늘 날짜가 월요일과 금요일 사이가 아닌 25 일이 아닌지 알아 보려면 몇 가지 평가를 실행하십시오. 오늘의 오늘은 좋은 하루입니다. 그런 다음 로그인 스크립트를 사용하십시오. 그렇지 않으면 내일 9시에 나가십시오. [날짜 계산] (https://autohotkey.com/board/topic/72923-calculate-dates/) –
여기서 큰소리로 생각해 보면 ... TaskScheduler/Bat/Firefox/TamperMonkey 또는 이와 유사한 칵테일을 사용하여 동일한 결과를 얻을 수 있습니다. Task Scheduler가 Bat 파일을 트리거하고 bat 파일이 원하는 URL로 Firefox를 시작하면 오늘의 자격이있는 경우 TamperMonkey 스크립트가 로그인을 처리합니다. –
TaskScheduler에서 평일 만 설정할 수도 있지만 특정 예외는 설정할 수 없습니다. – HaveSpacesuit