• 29-10-2021, 22:40:18
    #1
    Merhaba,
    seleniumda istediğim siteye girip formu göndermesi için bir kod yazdım her şey sorunsuz çalışıyor şuan gelen hcaptchayı da çözüyorum ve bana tokeni de veriyor ama bir türlü bu tokeni nasıl yollayacağımı ve hcaptchayı nasıl geçeceğimi bilemiyorum.

    Son geldiğim nokta bu ;

    Her iki kutuya da (g-recaptcha-response ve h-captcha-response) aynı şeyi mi yazdırmalıyım ve nasıl gönderebilirim?

    Konu hakkında bilgisi olan biri yardımcı olursa çok mutlu olurum.
  • 29-10-2021, 22:50:53
    #2
    hCaptcha'nın gizli alanını göstermek için doğru javascript kodunu gönderdiğinize emin misiniz? Gördüğüm kadarıyla iki alan açılmış. Hem hCaptcha hem de reCaptcha koruması varsa ikisini ayrı ayrı execute edin ve ardından çözümler bitince
    driver.execute_script('document.getElementById("g-recaptcha-response-1").innerHTML = arguments[0]', reCaptcha
    driver.execute_script('document.getElementById("g-recaptcha-response-1").innerHTML = arguments[0]', hCaptcha
    olarak gönderin. hCaptcha için gönderilecek alanı bilmediğim için Google ile aynısını kullandım.
    En son formu göndermek için de
    driver.find_element_by_id("g-recaptcha-response-1").submit()
    gibi .submit() gönderme işlemi yapabilirsiniz.
  • 29-10-2021, 23:00:38
    #3
    muhammedaksam adlı üyeden alıntı: mesajı görüntüle
    hCaptcha'nın gizli alanını göstermek için doğru javascript kodunu gönderdiğinize emin misiniz? Gördüğüm kadarıyla iki alan açılmış. Hem hCaptcha hem de reCaptcha koruması varsa ikisini ayrı ayrı execute edin ve ardından çözümler bitince
    driver.execute_script('document.getElementById("g-recaptcha-response-1").innerHTML = arguments[0]', reCaptcha
    driver.execute_script('document.getElementById("g-recaptcha-response-1").innerHTML = arguments[0]', hCaptcha
    olarak gönderin. hCaptcha için gönderilecek alanı bilmediğim için Google ile aynısını kullandım.
    En son formu göndermek için de
    driver.find_element_by_id("g-recaptcha-response-1").submit()
    gibi .submit() gönderme işlemi yapabilirsiniz.

    Öncelikle cevabınız için teşekkürler hocam;

    sonuç şu şekilde oldu

        inputElement.driver.find_element(By.XPATH,"//*[@id='g-recaptcha-response-"+new_val+"']").submit()
    AttributeError: 'NoneType' object has no attribute 'driver'
    hcaptcha içinde bu şekilde yapı

  • 29-10-2021, 23:06:05
    #4
    Canozkan adlı üyeden alıntı: mesajı görüntüle
    Öncelikle cevabınız için teşekkürler hocam;

    sonuç şu şekilde oldu

        inputElement.driver.find_element(By.XPATH,"//*[@id='g-recaptcha-response-"+new_val+"']").submit()
    AttributeError: 'NoneType' object has no attribute 'driver'
    hcaptcha içinde bu şekilde yapı

    Yukarıda gördüğüm hataya bakacak olursam yanılmıyorsam tarayıcıyı driver yerine başka şekilde çağırmışsınız fonksiyon içerisinde. Orayı kontrol edebilirsiniz.
  • 29-10-2021, 23:21:20
    #5
    muhammedaksam adlı üyeden alıntı: mesajı görüntüle
    Yukarıda gördüğüm hataya bakacak olursam yanılmıyorsam tarayıcıyı driver yerine başka şekilde çağırmışsınız fonksiyon içerisinde. Orayı kontrol edebilirsiniz.
    Evet hocam teşekkürler onu düzelttim uyarınızdan sonra şimdi verdiği hata çok garip submit yapmak istediğim kısım için yok diyor ama ben bir üst satırında aynı kod ile içindeki değeri alabiliyorum.

    selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"./ancestor-or-self::form"}
    yok dediği bu şey iframe içinde acaba ondan kaynaklı mı bilemedim