ඔව්, මේකට විසඳුම් කීපයක් තියෙනවා! ඔබේ අවශ්යතාවය සම්පූර්ණයෙන්ම **web automation** එකකට හොඳයි. මෙන්න options කීපයක්:
##

**Selenium/Playwright (ඉතාම නිර්දේශිතයි)**
මේක බ්රව්සර් එකක් automate කරලා මනුෂ්යයෙක් වගේම වැඩ කරනවා.
**Selenium (Python) උදාහරණය:**
```python
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
import os
# Setup
driver = webdriver.Chrome()
folder_path = "/path/to/your/files"
files = [f for f in os.listdir(folder_path) if f.endswith('.pdf')] # file type එක වෙනස් කරන්න
for file in files:
try:
# Site එකට යන්න
driver.get("
https://yoursite.com/upload")
# File upload කරන්න
file_input = driver.find_element(By.CSS_SELECTOR, "input[type='file']")
file_input.send_keys(os.path.join(folder_path, file))
# 3 checkboxes tick කරන්න
checkboxes = driver.find_elements(By.CSS_SELECTOR, "input[type='checkbox']")
for checkbox in checkboxes[:3]: # පළමු 3 tick කරනවා
checkbox.click()
# Submit button click කරන්න
submit_btn = driver.find_element(By.CSS_SELECTOR, "button[type='submit']")
submit_btn.click()
# Result එනතුරු බලාගෙන ඉන්න
WebDriverWait(driver, 30).until(
EC.presence_of_element_located((By.CSS_SELECTOR, ".result-download"))
)
# Download link එක click කරන්න
download_link = driver.find_element(By.CSS_SELECTOR, "a.download")
download_link.click()
time.sleep(5) # Download එක complete වෙන්න කාලය
print(f"

{file} සාර්ථකයි!")
except Exception as e:
print(f"

{file} fail: {e}")
driver.quit()
```
##

**Playwright (වේගවත්, නවීන)**
Selenium වලට වඩා හොඳයි, headless mode එකත් වැඩකරනවා.
```python
from playwright.sync_api import sync_playwright
import os
def automate_upload(file_path):
with sync_playwright() as p:
browser = p.chromium.launch(headless=False) # headless=True නම් බ්රව්සර් නොපෙන්වා
page = browser.new_page()
page.goto("
https://yoursite.com/upload")
# File upload
page.set_input_files("input[type='file']", file_path)
# Checkboxes tick කරන්න
checkboxes = page.locator("input[type='checkbox']")
for i in range(3):
checkboxes.nth(i).check()
# Submit
page.click("button:has-text('Submit')")
# Download
with page.expect_download() as download_info:
page.click("a:has-text('Download')")
download = download_info.value
download.save_as(f"results/{download.suggested_filename}")
browser.close()
# ලූප් එක
for file in os.listdir("uploads"):
automate_upload(f"uploads/{file}")
```
##

**VPS එකෙන් Schedule කරන්න**
VPS එකක් තියෙනවා නම්:
- **Cron job** එකක් හදාගෙන දවසකට වතාවක් run කරන්න පුළුවන්
- **Screen/tmux** use කරලා long-running script එකක් දාන්න පුළුවන්
- Docker container එකක් හදලා ඒකෙන් automate කරන්න පුළුවන්
```bash
# Cron example (දවසකට 2 වතාවක්)
0 9,17 * * * cd /path/to/script && python3 upload_automation.py
```
##

**Browser Extension (Alternative)**
Tampermonkey/Greasemonkey වගේ extension එකක් හදලා JavaScript එකෙන් automate කරන්න පුළුවන්. ඒත් මේකට files access කරන්න අමාරු නිසා මම ඒක recommend කරන්නේ නෑ.
---
##

මගේ Recommendation:
**Playwright + VPS** - මේක වේගවත්, stable, හොඳට maintain වෙනවා. Headless mode එකෙන් background එකේ දුවන්න පුළුවන්.
**Setup කරන විදිය:**
```bash
pip install playwright
playwright install chromium
```
Site එකේ selectors (CSS/XPath) හොයාගන්න බ්රව්සර් එකේ DevTools (F12) use කරන්න.
මට site එකේ URL එක සහ HTML structure එක තියෙනවා නම් ඔබට ready-to-use script එකක් හදලා දෙන්න පුළුවන්!