Sude
New member
Kodu incelediğimde iki farklı problem dikkat çekiyor:
1. **Kayıt aşamasından sonra hâlâ giriş yapılmamış olması**
– `register_company()` fonksiyonu formu doldurup “Kayıt Ol” düğmesine basıyor ve ardından sayfadaki “Çıkış” bağlantısını arayarak oturum açıldığını varsayıyor. Ancak kayıt işlemi sırasında site telefon doğrulaması/e‑posta onayı istediği için tarayıcı aslında hâlâ giriş sayfasında kalıyor. Log kayıtlarında da “Kayıt sonrası URL: [https://www.enuygunfirmalar.com/hizmet-veren-giris-yap”](https://www.enuygunfirmalar.com/hizmet-veren-giris-yap”) mesajı görünüyor. Bu durumda `publish_service()` fonksiyonunda `https://www.enuygunfirmalar.com/bayi-hizmet-ekle` adresi açıldığında site yeniden giriş sayfasına yönlendiriliyor ve “cityselect” veya “listing_title” gibi alanlar bulunamadığı için hiç bir kutucuk doldurulamıyor.
– Çözüm: Kayıt sonrası oturumun gerçekten açıldığını kontrol edin (örneğin sayfa URL’sinde `/panel` gibi bir alan aranabilir). Giriş yapılmadıysa kullanıcı adı/şifre ile oturum açıp ondan sonra hizmet ekleme sayfasına gitmek gerekir. Eğer site SMS veya e‑posta doğrulaması yapıyorsa bu adımın otomasyonu mümkün olmayabilir.
2. **HTML alan adlarının değişmesi veya maske kullanımı**
– Kod, ad, e‑posta, şifre ve telefon kutularını sabit ID’lerle dolduruyor (`hisimsoyisim`, `hemail2`, `hpw`, `hpw2`, `sss`). 2026 Şubat’ta yaptığım incelemede giriş sayfasındaki HTML hâlâ bu ID’leri kullanıyor; örneğin ad alanı `<input … id="hisimsoyisim" … placeholder="İsim Soyisim">`, e‑posta alanı `<input … id="hemail2" …>`, şifre alanları `<input type="password" … id="hpw">` ve `<input type="password" … id="hpw2">` olarak görünüyor. Telefon alanı ise `id="sss"` ve `pattern="^+90[0-9]{10}$"` ile `+90` ön ekini zorunlu kılıyor.
– Kod, telefon alanına önce tam +90’lı numarayı JavaScript ile yazmaya çalışıyor (`_js_set`), fakat sayfa input‑mask kullanıyor olduğundan bu değer kabul edilip “+90” harici kısmı silinebiliyor. Log’da telefon alanının “3222282578” olarak kaldığı görülüyor; bu yüzden kayıt butonuna basılınca form geçersiz sayılıyor ve kayıt gerçekleşmiyor. Telefon alanına `+90` kısmı otomatik geldiği için sadece on haneli numarayı (örneğin `3222282578`) göndermek gerekir.
– Çözüm: Telefon kutusunda `pattern` özniteliğini kontrol etmek yerine her zaman `info["phone"]` değerinden baştaki `+90` ön ekini çıkarıp sadece on haneli kısmı `send_keys` ile yazın. Gerekirse `.click()` ile input’u odaklamak ve `clear()` ile alanı boşaltmak da gerekir. Aynı şekilde `register_company()` ve `publish_service()` fonksiyonlarında kullanılan ID’ler sitede değişmişse güncellenmelidir; örneğin ana kategori “Temizlik” seçimi hata veriyorsa seçenek metnini (“Temizlik ve Hijyen” gibi) kontrol ederek düzeltmeniz gerekir.
Özetle hata, kayıt işleminin başarıyla tamamlanamaması nedeniyle kullanıcı hesabının oturum açmaması ve bu yüzden “hizmet ekle” sayfasındaki form elemanlarının hiç bulunamamasından kaynaklanıyor. Önce kayıt sonrası gerçekten oturum açıldığını doğrulamalı, sonra form alanlarını dolduran fonksiyonlarda telefon numarasını ve seçim kutularını sitenin güncel HTML’ine uygun hale getirmelisiniz.
1. **Kayıt aşamasından sonra hâlâ giriş yapılmamış olması**
– `register_company()` fonksiyonu formu doldurup “Kayıt Ol” düğmesine basıyor ve ardından sayfadaki “Çıkış” bağlantısını arayarak oturum açıldığını varsayıyor. Ancak kayıt işlemi sırasında site telefon doğrulaması/e‑posta onayı istediği için tarayıcı aslında hâlâ giriş sayfasında kalıyor. Log kayıtlarında da “Kayıt sonrası URL: [https://www.enuygunfirmalar.com/hizmet-veren-giris-yap”](https://www.enuygunfirmalar.com/hizmet-veren-giris-yap”) mesajı görünüyor. Bu durumda `publish_service()` fonksiyonunda `https://www.enuygunfirmalar.com/bayi-hizmet-ekle` adresi açıldığında site yeniden giriş sayfasına yönlendiriliyor ve “cityselect” veya “listing_title” gibi alanlar bulunamadığı için hiç bir kutucuk doldurulamıyor.
– Çözüm: Kayıt sonrası oturumun gerçekten açıldığını kontrol edin (örneğin sayfa URL’sinde `/panel` gibi bir alan aranabilir). Giriş yapılmadıysa kullanıcı adı/şifre ile oturum açıp ondan sonra hizmet ekleme sayfasına gitmek gerekir. Eğer site SMS veya e‑posta doğrulaması yapıyorsa bu adımın otomasyonu mümkün olmayabilir.
2. **HTML alan adlarının değişmesi veya maske kullanımı**
– Kod, ad, e‑posta, şifre ve telefon kutularını sabit ID’lerle dolduruyor (`hisimsoyisim`, `hemail2`, `hpw`, `hpw2`, `sss`). 2026 Şubat’ta yaptığım incelemede giriş sayfasındaki HTML hâlâ bu ID’leri kullanıyor; örneğin ad alanı `<input … id="hisimsoyisim" … placeholder="İsim Soyisim">`, e‑posta alanı `<input … id="hemail2" …>`, şifre alanları `<input type="password" … id="hpw">` ve `<input type="password" … id="hpw2">` olarak görünüyor. Telefon alanı ise `id="sss"` ve `pattern="^+90[0-9]{10}$"` ile `+90` ön ekini zorunlu kılıyor.
– Kod, telefon alanına önce tam +90’lı numarayı JavaScript ile yazmaya çalışıyor (`_js_set`), fakat sayfa input‑mask kullanıyor olduğundan bu değer kabul edilip “+90” harici kısmı silinebiliyor. Log’da telefon alanının “3222282578” olarak kaldığı görülüyor; bu yüzden kayıt butonuna basılınca form geçersiz sayılıyor ve kayıt gerçekleşmiyor. Telefon alanına `+90` kısmı otomatik geldiği için sadece on haneli numarayı (örneğin `3222282578`) göndermek gerekir.
– Çözüm: Telefon kutusunda `pattern` özniteliğini kontrol etmek yerine her zaman `info["phone"]` değerinden baştaki `+90` ön ekini çıkarıp sadece on haneli kısmı `send_keys` ile yazın. Gerekirse `.click()` ile input’u odaklamak ve `clear()` ile alanı boşaltmak da gerekir. Aynı şekilde `register_company()` ve `publish_service()` fonksiyonlarında kullanılan ID’ler sitede değişmişse güncellenmelidir; örneğin ana kategori “Temizlik” seçimi hata veriyorsa seçenek metnini (“Temizlik ve Hijyen” gibi) kontrol ederek düzeltmeniz gerekir.
Özetle hata, kayıt işleminin başarıyla tamamlanamaması nedeniyle kullanıcı hesabının oturum açmaması ve bu yüzden “hizmet ekle” sayfasındaki form elemanlarının hiç bulunamamasından kaynaklanıyor. Önce kayıt sonrası gerçekten oturum açıldığını doğrulamalı, sonra form alanlarını dolduran fonksiyonlarda telefon numarasını ve seçim kutularını sitenin güncel HTML’ine uygun hale getirmelisiniz.