Konuyu Açan
#0
İş otomasyonu ve düzenli görevler söz konusu olduğunda, Playwright gibi modern tarayıcı otomasyon araçları oldukça güçlü bir seçenek haline gelir. Özellikle web tabanlı işlemleri zamanlamak ve sürekli çalışır halde tutmak isteyenler için, Playwright'un sunduğu özellikler ile bu işleri kolaylıkla gerçekleştirebilirsiniz. Bu noktada, iki temel ihtiyaç öne çıkar: sürekli çalışırlık (keep-alive) ve otomatik giriş (auto login). Ayrıca, bu işlemleri bir sistem zamanlayıcısı olan cron ile entegre etmek, otomasyonunuzu tam anlamıyla otomatize eder.
İlk olarak, Playwright'un temel amacı, web sayfalarını programlı olarak kontrol etmek ve etkileşimde bulunmaktır. Bu, oturumların açık kalmasını sağlamak veya belirli aralıklarla sayfaya erişim sağlamak için idealdir. Örneğin, bir web sitesinde sürekli aktif kalmak ve oturumun kapanmasını engellemek için belirli aralıklarla sayfayı yenilemek veya "heartbeat" göndermek gerekebilir. Ayrıca, giriş işlemini otomatikleştirmek, kullanıcı adı ve şifre gibi bilgileri script'e gömmek veya güvenli bir şekilde saklamak ile mümkündür.
İşte temel bir örnek üzerinden açıklayalım:
Aşağıda, Node.js ortamında Playwright ile bu temel işlemleri gerçekleştiren bir örnek kod yer almakta:
Bu kod, giriş yaptıktan sonra belirli aralıklarla sayfayı yeniler ve oturumun kapanmasını engeller. Bu script'i cron ile entegre etmek için, örneğin, Linux'ta crontab'e şu satır eklenebilir:
Bu, script'in her 10 dakikada bir çalışmasını sağlar. Ayrıca, script'in sürekli çalışması veya kalıcı olması için pm2 gibi süreç yönetim araçları da kullanılabilir.
Sonuç olarak, Playwright ile otomatik giriş ve keep-alive işlemlerini planlayarak, web tabanlı otomasyonlarınızı oldukça stabil hale getirebilirsiniz. Bu yaklaşım, özellikle uzun süreli oturumların veya düzenli veri çekme işlemlerinin gerektiği durumlarda avantaj sağlar. Kendi ihtiyaçlarınıza göre aralıkları ve işlemleri uyarlayarak, güvenli ve verimli bir otomasyon altyapısı oluşturmak mümkündür.
İlk olarak, Playwright'un temel amacı, web sayfalarını programlı olarak kontrol etmek ve etkileşimde bulunmaktır. Bu, oturumların açık kalmasını sağlamak veya belirli aralıklarla sayfaya erişim sağlamak için idealdir. Örneğin, bir web sitesinde sürekli aktif kalmak ve oturumun kapanmasını engellemek için belirli aralıklarla sayfayı yenilemek veya "heartbeat" göndermek gerekebilir. Ayrıca, giriş işlemini otomatikleştirmek, kullanıcı adı ve şifre gibi bilgileri script'e gömmek veya güvenli bir şekilde saklamak ile mümkündür.
İşte temel bir örnek üzerinden açıklayalım:
- Otomatik giriş işlemi: Giriş formunu doldurup submit etmek.
- Keep-alive: Belirli aralıklarla sayfayı yenilemek veya küçük HTTP istekleri göndermek.
- Cron ile entegre: Bu script'i belirli zaman aralıklarında çalıştırmak.
Aşağıda, Node.js ortamında Playwright ile bu temel işlemleri gerçekleştiren bir örnek kod yer almakta:
CODE
123456789101112131415161718192021222324252627282930
const { chromium } = require('playwright');
async function autoLoginAndKeepAlive() {
const browser = await chromium.launch({ headless: false });
const page = await browser.newPage();
// Giriş sayfasına git
await page.goto('https://ornekwebsitesi.com/login');
// Kullanıcı adı ve şifre ile giriş yap
await page.fill('#username', 'kullanici_adi');
await page.fill('#password', 'sifre');
await page.click('#loginButton');
// Giriş sonrası sayfada kal
await page.waitForNavigation();
// Oturum açık tutmak ve sürekli aktifliği sağlamak için
const keepAliveInterval = setInterval(async () => {
// Sayfayı yenile veya küçük bir istek gönder
await page.reload();
console.log('Sayfa yenilendi ve oturum korunuyor...');
}, 5 * 60 * 1000); // 5 dakika aralıkla
// Script durdurulursa veya belirli bir koşul sağlanırsa
// clearInterval(keepAliveInterval);
}
autoLoginAndKeepAlive();
Bu kod, giriş yaptıktan sonra belirli aralıklarla sayfayı yeniler ve oturumun kapanmasını engeller. Bu script'i cron ile entegre etmek için, örneğin, Linux'ta crontab'e şu satır eklenebilir:
CODE
12
[i]/10 [/i] * * * /usr/bin/node /path/to/your/script.js
Bu, script'in her 10 dakikada bir çalışmasını sağlar. Ayrıca, script'in sürekli çalışması veya kalıcı olması için pm2 gibi süreç yönetim araçları da kullanılabilir.
Sonuç olarak, Playwright ile otomatik giriş ve keep-alive işlemlerini planlayarak, web tabanlı otomasyonlarınızı oldukça stabil hale getirebilirsiniz. Bu yaklaşım, özellikle uzun süreli oturumların veya düzenli veri çekme işlemlerinin gerektiği durumlarda avantaj sağlar. Kendi ihtiyaçlarınıza göre aralıkları ve işlemleri uyarlayarak, güvenli ve verimli bir otomasyon altyapısı oluşturmak mümkündür.