// ==UserScript==
// @name Zeus Wifi Datepicker Auto Click with Popup Close
// @namespace http://tampermonkey.net/
// @version 0.2
// @description 出発日と帰国日を自動選択し、ポップアップを閉じる
// @author Your Name
// @match https://zeus-wifi.jp/entry/overseas/select?mplan_id=*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// 要素が見つかるまで待機する関数
function waitForElement(selector, callback) {
const element = document.querySelector(selector);
if (element) {
callback(element);
} else {
setTimeout(function() {
waitForElement(selector, callback);
}, 500); // 500ミリ秒ごとに要素が存在するか確認
}
}
// 1. ポップアップを閉じる処理
waitForElement('.guidance-popup-close-button', function(closeButton) {
closeButton.click(); // ボタンのクリックイベントをシミュレート
console.log('Popup closed.');
});
// 2. 出発日と帰国日を自動設定
waitForElement('#datepicker_start', function(departureDatePicker) {
let futureDate = new Date();
futureDate.setDate(futureDate.getDate() + 5);
let dateString = futureDate.toISOString().split('T')[0];
// 出発日に値を設定してクリック
departureDatePicker.value = dateString;
departureDatePicker.dispatchEvent(new Event('change', { bubbles: true }));
departureDatePicker.click();
console.log('Departure date set.');
});
waitForElement('#datepicker_end', function(returnDatePicker) {
let futureDate = new Date();
futureDate.setDate(futureDate.getDate() + 5);
let dateString = futureDate.toISOString().split('T')[0];
// 帰国日に値を設定してクリック
returnDatePicker.value = dateString;
returnDatePicker.dispatchEvent(new Event('change', { bubbles: true }));
returnDatePicker.click();
console.log('Return date set.');
});
})();
webのスクレイピングについて