Aslında kodun tamamını attım google'a giriyor mynet yazıyor daha sonra xpath kullanarak doğru siteye giriyor fakat log ekranında böyle bir hata var ama sistem çalışıyor bundan kaynaklı olabilir mi? Çünkü attığınız kod yine çalışmadı.
Python:
Traceback (most recent call last):
File "c:\Users\Xtra\Desktop\test\DolphinController.py", line 100, in <module>
driver.find_element(By.XPATH, "//div[@class='container']").click()
File "C:\Users\Xtra\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webelement.py", line 94, in click
self._execute(Command.CLICK_ELEMENT)
File "C:\Users\Xtra\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webelement.py", line 395, in _execute
return self._parent.execute(command, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Xtra\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 354, in execute
self.error_handler.check_response(response)
File "C:\Users\Xtra\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 229, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <div class="container">...</div> is not clickable at point (144, 38). Other element would receive the click: <nav class="my-menu-global">...</nav>
Kodunuzun paylaştığınız kısmında şu yapılmıyor mesela:
Kütüphaneleri import ettiğiniz baştaki satırlar da yok örneğin.
Dolayısıyla, sıkıntının kodunuzun paylaşmadığınız kısımlarında olduğunu düşünüyorum.
Bire bir aynı kodu denediğinizden emin misiniz? Paylaştığım koddaki bazı satırları alıp kendi kodunuzda ilgili kısımlara yapıştırıp denemeyin, öyle yaptıysanız. Bende herhangi bir hata/uyarı mesajı çıkmıyor.
Paylaşmadığım kısımlarda sorun yok error log kısmını attım zaten Hata olarak sayılacaksa eğer siteye click atması için xpath kullanıyorum kod çalışıyor ama output kısmında attığım yazıları gösteriyor. Ve attığınız kodu sil baştan ekledim herhangi bir hata veya uyarı mesajı da olmadı.
Kodunuzun paylaştığınız kısmında şu yapılmıyor mesela:
Kütüphaneleri import ettiğiniz baştaki satırlar da yok örneğin.
Dolayısıyla, sıkıntının kodunuzun paylaşmadığınız kısımlarında olduğunu düşünüyorum.
Bire bir aynı kodu denediğinizden emin misiniz? Paylaştığım koddaki bazı satırları alıp kendi kodunuzda ilgili kısımlara yapıştırıp denemeyin, öyle yaptıysanız. Bende herhangi bir hata/uyarı mesajı çıkmıyor.
Şöyle göstereyim tamamını hep beraber emin olalım.
Python:
driver = dolphin.get_driver(port=port)
driver.maximize_window()
driver.get('https://google.com/')
print(driver.title)
driver.find_element(By.CSS_SELECTOR, '[title="Ara"]').send_keys("mynet")
sleep(3)
driver.find_element(By.CSS_SELECTOR, '[aria-label="Ara"]').send_keys(Keys.ENTER)
sleep(3)
try:
driver.get("https://www.mynet.com/")
driver.find_element(By.XPATH, "//div[@class='container']").click()
for i in range(10):
driver.execute_script("window.scrollBy(0, 1000);")
sleep(1)
print("Scrolled down to the bottom of the page")
for i in range(10):
driver.execute_script("window.scrollBy(0, -1000);")
sleep(1)
print("Scrolled up to the top of the page")
except Exception as e:
print(f"Error: {e}")
driver.quit(30)
Yine tamamı değil. dolphin nesnesinin ne olduğu belli değil ve import satırları yine yok. Paylaştığınıza yakın bir kod yazmaya çalıştım:
Python:
from time import sleep
import selenium.webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
driver = selenium.webdriver.Chrome()
driver.maximize_window()
driver.get("https://google.com/")
print(driver.title)
driver.find_element(By.CSS_SELECTOR, '[title="Ara"]').send_keys("mynet")
sleep(3)
driver.find_element(By.CSS_SELECTOR, '[aria-label="Ara"]').send_keys(Keys.ENTER)
sleep(3)
try:
driver.get("https://www.mynet.com/")
driver.find_element(By.XPATH, "//div[@class='container']").click()
for i in range(10):
driver.execute_script("window.scrollBy(0, 1000);")
sleep(1)
print("Scrolled down to the bottom of the page")
for i in range(10):
driver.execute_script("window.scrollBy(0, -1000);")
sleep(1)
print("Scrolled up to the top of the page")
except Exception as e:
print(f"Error: {e}")
driver.quit()
Google'a girip Mynet araması yaptığı kısım oldukça alakasız aslında ama neyse.
İlk denememde elemente tıklayınca reklama tıklamış oldu, yeni sekmede reklam açıldı. Reklam sekmesini kapatınca scroll düzgün çalıştı.
İkinci denememde reklam açılmadı, nedenini bilmiyorum. Scroll düzgün bir şekilde çalıştı.
Bu kısım hatalı çalışmıyor. Mynet'te gerçekten <div class="container"> diye bir element var, onu buluyor ve tıklıyor.
Güzel gördünüz. Hatanın ilk satırında DolphinController.py dosyasının 100. satırına işaret ediliyor.
Yine tamamı değil. dolphin nesnesinin ne olduğu belli değil ve import satırları yine yok. Paylaştığınıza yakın bir kod yazmaya çalıştım:
Python:
from time import sleep
import selenium.webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
driver = selenium.webdriver.Chrome()
driver.maximize_window()
driver.get("https://google.com/")
print(driver.title)
driver.find_element(By.CSS_SELECTOR, '[title="Ara"]').send_keys("mynet")
sleep(3)
driver.find_element(By.CSS_SELECTOR, '[aria-label="Ara"]').send_keys(Keys.ENTER)
sleep(3)
try:
driver.get("https://www.mynet.com/")
driver.find_element(By.XPATH, "//div[@class='container']").click()
for i in range(10):
driver.execute_script("window.scrollBy(0, 1000);")
sleep(1)
print("Scrolled down to the bottom of the page")
for i in range(10):
driver.execute_script("window.scrollBy(0, -1000);")
sleep(1)
print("Scrolled up to the top of the page")
except Exception as e:
print(f"Error: {e}")
driver.quit()
Google'a girip Mynet araması yaptığı kısım oldukça alakasız aslında ama neyse.
İlk denememde elemente tıklayınca reklama tıklamış oldu, yeni sekmede reklam açıldı. Reklam sekmesini kapatınca scroll düzgün çalıştı.
İkinci denememde reklam açılmadı, nedenini bilmiyorum. Scroll düzgün bir şekilde çalıştı.
Hocam şöyle özet geçeyim "dolphin" olan kısım browser oradan açıyor selenium'u aşağıda ki kodlar da importlar :
Python:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
Hocam şöyle özet geçeyim "dolphin" olan kısım browser oradan açıyor selenium'u aşağıda ki kodlar da importlar :
Python:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
Kaydırmanın çalışması için bir yere tıklamaya gerek yok gibi. Kodun, tıklamayan hâli de çalışıyor bende:
Python:
from time import sleep
import selenium.webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
driver = selenium.webdriver.Chrome()
driver.maximize_window()
driver.get("https://google.com/")
print(driver.title)
driver.find_element(By.CSS_SELECTOR, '[title="Ara"]').send_keys("mynet")
sleep(3)
driver.find_element(By.CSS_SELECTOR, '[aria-label="Ara"]').send_keys(Keys.ENTER)
sleep(3)
try:
driver.get("https://www.mynet.com/")
# driver.find_element(By.XPATH, "//div[@class='container']").click()
for i in range(10):
driver.execute_script("window.scrollBy(0, 1000);")
sleep(1)
print("Scrolled down to the bottom of the page")
for i in range(10):
driver.execute_script("window.scrollBy(0, -1000);")
sleep(1)
print("Scrolled up to the top of the page")
except Exception as e:
print(f"Error: {e}")
driver.quit()