python for döngüsüne girmiyor
merhaba python selenium ile bir web sitesine gidip
bir class a ait bilgileri alıp ekrana yazdırmak istiyorum
-udemy python kursunda çalışan kod
import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import random
import time
browser = webdriver.Chrome()
url = "https://eksisozluk.com/mustafa-kemal-ataturk--34712?p="
pageCount = 1
entries = []
entryCount = 1
while pageCount <= 10:
randomPage = random.randint(1,1290)
newUrl = url + str(randomPage)
browser.get(newUrl)
elements = browser.find_elements_by_css_selector(".content")
for element in elements:
entries.append(element.text)
time.sleep(3)
pageCount += 1
with open("entries.txt","w",encoding = "UTF-8") as file:
for entry in entries:
file.write(str(entryCount) + ".\n" + entry + "\n")
file.write("***********************************\n")
entryCount += 1
browser.close()
bu kod çalışıyor sorun yok fakat
import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import random
import time
browser = webdriver.Firefox()
url = "https://www.bilmemnebilmemne.com/tr"
browser.get(url)
time.sleep(4)
username = "kadi"
password = "sifre"
panelac = browser.find_element(By.XPATH, "//*[@id='root']/div[1]/div[1]/div[2]/div[3]/button[1]")
panelac.click()
time.sleep(2)
usrnm = browser.find_element(By.XPATH, "/html/body/div[3]/div/div/div/div[2]/form/div[1]/div/input")
usrnm.click()
usrnm.send_keys(username)
passwordknk = browser.find_element(By.XPATH, "/html/body/div[3]/div/div/div/div[2]/form/div[2]/div/input")
passwordknk.click()
passwordknk.send_keys(password)
girisbtn = browser.find_element(By.XPATH, "/html/body/div[3]/div/div/div/div[2]/form/button")
girisbtn.click()
time.sleep(3)
kapa = browser.find_element(By.XPATH, "/html/body/div[3]/div/div/div/div[1]/button")
kapa.click()
time.sleep(2)
casinoadres = browser.find_element(By.XPATH, "//*[@id='root']/div[1]/div[1]/div[2]/div[2]/a[4]")
casinoadres.click()
time.sleep(3)
room = browser.find_element(By.XPATH, "/html/body/div[1]/div[1]/div[2]/div/div[3]/div/div[2]/div/div[2]/div[3]")
room.click()
time.sleep(15)
i = 1
numbers = []
kacinci = 1
time.sleep(2)
while i <= 10:
elements = browser.find_elements(By.CSS_SELECTOR, ".value--877c6")
for e in elements:
print("selamm", e)
numbers.append(e.text)
time.sleep(3)
with open("entries.txt","w",encoding = "UTF-8") as file:
for entry in numbers:
file.write(str(kacinci) + ".\n" + entry + "\n")
file.write("***********************************\n")
kacinci += 1
kod çalışmıyor diye print("selam") tarzı şeyler yazdım
yani print("selam") dememi bile ekrana yazdoırmıyor bu kodun çıktısı :
=================================== RESTART: C:\Users\user\Desktop\testtt.py ===================================
YANİ HİÇ BİRŞEY nerde hata yapıyorum
classı değiştirip kafadan sallama bişey yazınca
sonuc:
=================================== RESTART: C:\Users\user\Desktop\testtt.py ===================================
fakat dün class name i farklı idi ve bugün çalıştırınca bu class bulunamadı diyordu
şimdi hiç bişey
değiştirdim xpath yaptım yine aynı
find_elements değilde find_element yaptım
çıktı :
Traceback (most recent call last):
File "C:\Users\user\Desktop\bettilt.py", line 39, in <module>
elements = browser.find_element(By.XPATH, "/html/body/div[4]/div/div/div/div[2]/div/div[5]/div[2]/div/div/div/div[2]/div/div[1]/div")
File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 1244, in find_element
return self.execute(Command.FIND_ELEMENT, {
File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 424, in execute
self.error_handler.check_response(response)
File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 247, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: /html/body/div[4]/div/div/div/div[2]/div/div[5]/div[2]/div/div/div/div[2]/div/div[1]/div
Stacktrace:
WebDriverError@chrome://remote/content/shared/webdriver/Errors.jsm:181:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.jsm:393:5
element.find/</<@chrome://remote/content/marionette/element.js:299:16
nerde nasıl hata yapıyorum
xpath doğru find element ile tek bir div (clası farklı) olmasına rağmen halen böyle diyor
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (2)
arkadaşalr whilede i++ yapmamış olmam sorunu çözmez en azıdnan 1 kere yazdırırdı