Auto-reply uygulamasında cevap okunmuyor

Hangi siteden mesaj okumayı denediğini bilmiyorum ki.

Tamamdır hocam ne yazık ki veremiyorum siteyi yine de desteğiniz için teşekkür ederim.

Hangi siteden mesaj okumayı denediğini bilmiyorum ki.

Yani isim vermeden yapılabilecek bir şey yok mu acaba?

Hangi siteden mesaj okumayı denediğini bilmiyorum ki.

Kusura bakma tekrar rahatsız ettim ama bunları öğrenebileceğim bir kaynak var mı acaba? Bu sistemi nasıl yapabileceğim hakkında falan?

Hangi siteden mesaj okumayı denediğini bilmiyorum ki.
Merhaba cevap verebilir misiniz aktifseniz ?

Hangi siteden mesaj okumayı denediğini bilmiyorum ki.

Merhaba cevap verebilir misiniz aktifseniz?
 
Son düzenleme:
Yani spesifik olarak bu kafandaki şeyi nasıl yapacağının bir kaynağı varsa ben bilmiyorum.

Selenium ile yapacağın şey, mesajın geldiği bloğu okumak, okuduğunda da mesajın, dosyada okuduğun stringlerde var mı kontrol etmek.

Mesela, diyelim x sitesinde mesajlar, div.chat-box içerisinde p.message olarak geliyor olsunlar. Dediğim şeyi yapan dandirikten bir site de yazdım ki örnek gösterebileyim.

Login yapıldığını varsayıyorum bu örneği atarken ama dikkat et sende login gerekecek. Bu login işini kendin halledersin. Benzeri mantıkla yapacaksın zaten.

Kodlara açıklama yazmaya üşendim. Oku anlamadığın yeri neden öyle yaptığımı sor. Handle response loopta olmalı tabii ki. Onları falan halledersin. Halledemiyorsan, ama programlama öğrenmekle uğraşmak istemiyorsan, AI'da bu kadar basit bir şey için yardım eder.
Python:
from selenium import webdriver
from selenium.webdriver.common.by import By
import time

class Repsonses:
    def __init__(self, file_name: str) -> None:
        self.responseList = {}
        with open(file_name, "r") as responses:
            for line in responses:          
                temp = line.split(";")
                if len(temp) > 2:
                    raise Exception("format is: \"message|alternativemessage;response\"")
                message, response = temp
                if message.find("|") != -1:
                    messages = message.split("|")
                    for m in messages:
                        self.responseList[m] = response
                else:
                    self.responseList[message] = response

   
    def getResponse(self, message: str):
        keyList = list(self.responseList.keys())
        for key in keyList:
            if message.find(key) != -1:
                return self.responseList[key]
        return -1
   
response_list = Repsonses("cevaplar.txt")

driver = webdriver.Chrome()

driver.get("http://localhost:5500/index.html") # Buraya siteyi yazıyorsun.

time.sleep(1.5)

def handleResponse():
    last_message = driver.find_elements(By.CSS_SELECTOR, "div.chat-box p.message")
    if len(last_message) == 0:
        return
    response =  response_list.getResponse(last_message[-1].text.lower())
    if response == -1:
        return
   
    inputbox = driver.find_element(By.ID, "sendtext")
    inputbox.send_keys(response)
   
   
handleResponse()
input()

Bu da cevaplar.txt'nin içeriği;
Kod:
mesaj;yanıt
merhaba;Merhabalar hoş geldiniz
nasılsın|napıyorsun|naber|napıyosun;İyiyim siz nasılsınız?

Dipnot: Chrome Driver için güncel site buymuş; Chrome for Testing availability . Eski siteyi atmışım.
 

Çok teşekkür ederim, hocam bu arada önerinize uyup Selenium geçtimde sitede sadece name ile giriş yapılıyor bende otomatikleştirmek istemiştim yapamıyorum pyautogui geçeceğim sanırım tekrardan. Bunun hakkında bir öneriniz var mıdır?

Kod:
username=driver.find_element(By.NAME,"Username")

Böyle bir şey yapmama rağmen işe yaramıyor hiçbir şekilde hata veriyor. Baktığımda bazı kişilerde çalışıyor ama ben çalıştıramadım.
 
Bak şimdi, By.NAME dediğinde, HTML tagleri içerisinde ki attributelarda, name attribute'u için de "Username" varsa getirecek. username girdiğin kutuya sağ tıkla, incele de, sonra da bak ne name vermişler. Onu yaz.

Bu arada eğer programlamayla ilgilendiğinden böyle bir projeyle uğraşıyorsan, taa en başa dönüp pek çok kavramı öğrenmen lazım. Şuan bu kadar zorlanmanın sebebi bu.
 

Zaten bu şekilde yaptım name kısmında öyle yazıyor fakat hiçbir işe yaramıyor.

Name="UserName" bu şekildeymiş.
 
Ne hata veriyor bunu yaptığında? Hatayı da atsana. Tahmin ede ede gitmeyeyim.

Kod:
username=driver.find_element(By.NAME,"UserName")
username.send_keys("şifre.")

Kod:
Exception has occurred: ElementNotInteractableException
Message: element not interactable

Debug modunda üstteki koddan username. Send_keys kısmı için böyle bir hata alıyorum şu anda. Kusura bakmayın sizi çok yoruyorum ama bu şekilde oluyor Selenium önerdiğiniz için geçmek istedim bir de eski dosyayı sildim sıfırdan başlayayım düzgünce bu sefer yaparım diye.
 
Input'u girmesini istediğin yer visible durumda değil mi? Key'i gönderebilmen için, selenium'un dokunabildiği bir alanda olması lazım. Herhangi bir pop up vs çıkıyor olması da key göndermesine engel olur.

Hayır, hangi site için yapmaya çalıştığını anlasam, elli kere çözmüştük şu işi.
 

Evet visible site ismi versem benim için sorun çıkar diye veremiyorum vereceğim sitenin kuralları vb. dolayısı ile.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…