Macros: I
// Fill username field loginMacro += "TAG POS=1 TYPE=INPUT ATTR=NAME:username CONTENT=testuser@example.com" + "\n";
// ========== MAIN SCRIPT ========== function main() var extractedData = []; // Initialize log iimDisplay("Starting data extraction..."); // 1. Open search engine macro = "CODE:"; macro += "SET !TIMEOUT_STEP 2" + "\n"; macro += "SET !ERRORIGNORE YES" + "\n"; macro += "URL GOTO=" + SEARCH_URL + "\n"; iimPlay(macro); // 2. Loop through pages for (var page = 1; page <= MAX_PAGES; page++) iimDisplay("Processing page " + page + " of " + MAX_PAGES); // Wait for results to load macro = "CODE:"; macro += "WAIT SECONDS=2" + "\n"; iimPlay(macro); // 3. Extract search results (titles and URLs) // This example uses relative positioning for demo site var resultIndex = 1; var continueExtraction = true; while (continueExtraction) // 4. Go to next page if available if (page < MAX_PAGES) macro = "CODE:"; macro += "TAG POS=1 TYPE=A ATTR=TXT:Next" + "\n"; macro += "WAIT SECONDS=2" + "\n"; iimPlay(macro); // 5. Save extracted data to CSV file saveDataToCSV(extractedData, OUTPUT_FILE); iimDisplay("Extraction complete! Saved " + extractedData.length + " records to " + OUTPUT_FILE); return extractedData; i macros
TAG POS=1 TYPE=A ATTR=HREF:* EXTRACT=HREF SAVEAS TYPE=EXTRACT FOLDER=* FILE=result_urls.txt // Fill username field loginMacro += "TAG POS=1
' Click next page TAG POS=1 TYPE=A ATTR=TXT:Next WAIT SECONDS=2 Extract search results (titles and URLs) // This
function downloadFiles(fileUrls) for (var i = 0; i < fileUrls.length; i++) downloadMacro = "CODE:"; downloadMacro += "SET !DOWNLOAD FOLDER=C:\Downloads" + "\n"; downloadMacro += "SET !DOWNLOAD WAIT YES" + "\n"; downloadMacro += "URL GOTO=" + fileUrls[i] + "\n"; downloadMacro += "WAIT SECONDS=5" + "\n";
// ========== RUN THE SCRIPT ========== var results = main();
' Wait for results WAIT SECONDS=2