Pyhton konusunda bilgili arkadaşlar?
8
●170
- 26-04-2023, 17:56:26Konu sahibinin izniyle bir şey sorabilir miyim? Python advertools ile ilgili 🙏🏻Muratgulgen adlı üyeden alıntı: mesajı görüntüle
- 26-04-2023, 18:02:33Muratgulgen adlı üyeden alıntı: mesajı görüntüle
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import Select from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import time # Selenium WebDriver'ı başlatın ve web sayfasını açın driver = webdriver.Chrome() driver.get("https://xxx") # Pencere boyutunu ayarlayın driver.set_window_size(516, 1012) # Sayfanın yüklenmesini bekle wait = WebDriverWait(driver, 20) wait.until(EC.presence_of_element_located((By.ID, "txtAdi"))) # Kişisel bilgi formunu doldurun driver.find_element(By.ID, "txtAdi").send_keys("testtososo") driver.find_element(By.ID, "txtSoyadiniz").send_keys("teoktoekt") driver.find_element(By.ID, "txtTelefon").send_keys("(5321234242)") # İl seçim kutusundan bir seçenek seçin dropdown_il = Select(driver.find_element(By.ID, "ddlIl")) dropdown_il.select_by_visible_text("ADANA") # İlçe seçim kutusundan bir seçenek seçin dropdown_ilce = Select(driver.find_element(By.ID, "ddlOyIlce")) dropdown_ilce.select_by_visible_text("GERGER") # Mahalle seçim kutusundan bir seçenek seçin dropdown_mahalle = Select(driver.find_element(By.ID, "ddlOyMahalle")) dropdown_mahalle.select_by_visible_text("CEVİZPINAR KÖYÜ") # Memleket seçim kutusundan bir seçenek seçin dropdown_memleket = Select(driver.find_element(By.ID, "ddlMemleket")) dropdown_memleket.select_by_visible_text("BİLECİK") # Formu kaydedin driver.find_element(By.ID, "txtReferans").send_keys("testss2") driver.find_element(By.ID, "btnKayit").click() # Sayfanın yüklenmesini bekle ve telefon numarasını güncelleyin time.sleep(5) wait.until(EC.presence_of_element_located((By.ID, "txtTelefon"))) driver.find_element(By.ID, "txtTelefon").clear() driver.find_element(By.ID, "txtTelefon").send_keys("(53285484444)") driver.find_element(By.ID, "btnKayit").click() # WebDriver'ı kapatın ve pencereyi kapatın driver.quit()şöyle bir kod oluşturduk
Aldığımız Hata Şu Şekilde ;
Traceback (most recent call last): File "C:\Users\Astro\Desktop\bot\testo.py", line 13, in <module> driver.find_element(By.ID, "txtAdi").send_keys("testtososo") File "C:\Users\Astro\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\remote\webelement.py", line 231, in send_keys self._execute( File "C:\Users\Astro\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\remote\webelement.py", line 403, in _execute return self._parent.execute(command, params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Astro\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 440, in execute self.error_handler.check_response(response) File "C:\Users\Astro\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 245, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable (Session info: chrome=112.0.5615.122) Stacktrace: Backtrace: GetHandleVerifier [0x0049DCE3+50899] (No symbol) [0x0042E111] (No symbol) [0x00335450] (No symbol) [0x0035C706] (No symbol) [0x0035BFD0] (No symbol) [0x0037B8FC] (No symbol) [0x00358EC6] (No symbol) [0x0037BC54] (No symbol) [0x0038E01C] (No symbol) [0x0037B6F6] (No symbol) [0x00357708] (No symbol) [0x0035886D] GetHandleVerifier [0x00703EAE+2566302] GetHandleVerifier [0x007392B1+2784417] GetHandleVerifier [0x0073327C+2759788] GetHandleVerifier [0x00535740+672048] (No symbol) [0x00438872] (No symbol) [0x004341C8] (No symbol) [0x004342AB] (No symbol) [0x004271B7] BaseThreadInitThunk [0x75EA0099+25] RtlGetAppContainerNamedObjectPath [0x76F97B6E+286] RtlGetAppContainerNamedObjectPath [0x76F97B3E+238] - 26-04-2023, 18:24:3026 ve 27. Satırlar asıl problem. Onu araştırın, kodun tamamı olmadığı için eksik parametreler var tam anlayamadım.
txtAdi değişkeni sanırım send_keys fonksiyonunu desteklemiyor.
İlk olarak sendkeys ten önce oraya click yapın sonra send keys gönderin.
Veya değeri xpath, css selector vs. Deneyin.
Ya da aldığınız değer yani id daha üst bir yapıya ait olabilir. Alt elementlerini deneyin - 26-04-2023, 18:39:11
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '....'))).send_keys("xxxx")böyle kullanmayı deneyebilirsiniz. 10 saniye elementin var olmasını bekler eğer bulunamazsa 10 saniye sonra hata verir try except ile kontrol etmeyi deneyebilirsiniz.
ek olarak tıklamak istediğiniz elemente dikkat edin Inspect tabından bakınız switch_to.frame kullanmanız gerekebilir. - 26-04-2023, 19:03:51Chatgpt şunu dedi
# Sayfanın yüklenmesini bekle
wait = WebDriverWait(driver, 20)
# Kişisel bilgi formunu doldurun
wait.until(EC.element_to_be_clickable((By.ID, "txtAdi"))).send_keys("testtososo")
wait.until(EC.element_to_be_clickable((By.ID, "txtSoyadiniz"))).send_keys("teoktoekt")
wait.until(EC.element_to_be_clickable((By.ID, "txtTelefon"))).send_keys("(5321234242)")
Bu düzenlemelerle, sayfanın yüklenmesini bekleyerek ilgili öğelerle etkileşime geçebilirsiniz. Eğer hala hata alırsanız, web sayfasındaki öğelerin ID'lerini kontrol edin ve kodunuzda doğru olduğundan emin olun.