Автоответчик бота в PYTHON selenium

avatar
Haru
1 июля 2021 в 17:19
473
0
0

Некоторое время я пытался автоматизировать Whatsapp с помощью python в селене. Я сделал приведенный ниже код для поиска имен в моем контакте, и он отлично сработал. поэтому я хотел, чтобы бот автоматически отвечал на любой чат в моем контакте, если указан тег «/». я пытался написать код, но у меня это не сработало.

import time

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select, WebDriverWait
 
import requests
 
# variable to store the name of the contact
contact = "Wahda"
#variable to store message

message = "hello Allah"

url = "https://web.whatsapp.com"

#open a Whatsapp Web interface which automatically asks you to scan the QR code
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get(url)
print("Scan QR Code and press Enter")
input() # used to pause the interface until user presser enter
print("Running ...")


#finding search bar
def find_contact(contact):
    inp_xpath_search = '//*[@id="side"]/div[1]/div/label/div/div[2]'
    input_box_search = WebDriverWait(driver, 50).until(
        lambda driver: driver.find_element_by_xpath(inp_xpath_search))
    input_box_search.click() #clicks on search bar
    time.sleep(0)
    input_box_search.send_keys(contact) #enters name of contact
    time.sleep(0.2)

    #finds contact
    selected_contact = driver.find_element_by_xpath("//span[@title='"+contact+"']")
    selected_contact.click() # select contact

#find message box
def send_message(message):
    inp_xpath = '//*[@id="main"]/footer/div[1]/div[2]/div/div[2]'
    input_box = driver.find_element_by_xpath(inp_xpath)
    time.sleep(0.2)
    input_box.send_keys(message + Keys.ENTER) #enters message
    time.sleep(0)


find_contact(contact)

#prints the automated message multiple times
for count in range (1):
    send_message(f'{message} {count+1}')
Источник
James Z
1 июля 2021 в 18:08
0

Пожалуйста, включите лучшее описание проблемы, чем "не работает".

Haru
1 июля 2021 в 18:49
0

я определил функцию msg, где она проверяет, есть ли новые сообщения, а затем пытается ответить на них

Ответы (0)