v2.5.2
Giriş yap

python for döngüsüne girmiyor

suphiadmin
447 defa görüntülendi

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

suphiadmin
1173 gün önce

arkadaşalr whilede i++ yapmamış olmam sorunu çözmez en azıdnan 1 kere yazdırırdı