Я пытаюсь закодировать программу для кого-то, чтобы можно было одновременно отправлять и удалять сообщения в браузерном приложении Discord. (Я думаю, что он хочет использовать это для рассылки спама?) Он сказал мне написать код в Python, поэтому я использовал python с Selenium. На данный момент у меня все работает, вход в систему работает, выбор канала работает, если вы просто вставляете ссылку на канал напрямую. Мне также удалось позволить этому посылать некоторые сообщения. Но проблема в том, что я не знаю, как удалить сообщение после его отправки, потому что сначала нужно нажать кнопку «Еще». Но эта дополнительная кнопка существует на странице несколько раз. Один раз за сообщение. Любые идеи, как я могу выбрать кнопку из моего сообщения, чтобы удалить ее? На данный момент мой код выглядит так:
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from random import randint
Server = "https://discordapp.com/channels/channel-id"
username = '"E-MAIL'
pw = 'PW'
Spam = 'Hello'
class DiscordBot:
def __init__(self, username, pw, Spam):
self.driver=webdriver.Chrome("C:\\Users\Discord Bot\Desktop\chromedriver.exe")
self.driver.get(Server) #Discord login page
sleep(1)
self.driver.find_element_by_xpath('//*[@id="app-mount"]/div[1]/div/div[2]/div/form/div/div/div[1]/div[3]/div[1]/div/input')\
.send_keys(username) #Insert email
sleep(1)
self.driver.find_element_by_xpath('//*[@id="app-mount"]/div[1]/div/div[2]/div/form/div/div/div[1]/div[3]/div[2]/div/input')\
.send_keys(pw) #Insert password
sleep(1)
self.driver.find_element_by_xpath('//*[@id="app-mount"]/div[1]/div/div[2]/div/form/div/div/div[1]/div[3]/button[2]')\
.click() #Login
sleep(7)
self.driver.find_element_by_xpath('/html/body/div/div[1]/div/div[2]/div/div/div/div[2]/div[2]/div[2]/div[1]/form/div/div/div/div[3]/div[2]/div')\
.click() #Select input box
for i in range(1000):
Count = 'Number' + str(i)
self.driver.find_element_by_xpath('/html/body/div/div[1]/div/div[2]/div/div/div/div[2]/div[2]/div[2]/div[1]/form/div/div/div/div[3]/div[2]/div')\
.send_keys(Spam) #Insert message
sleep(randint(1, 7))
self.driver.find_element_by_xpath('//*[@id="app-mount"]/div[1]/div/div[2]/div/div/div/div[2]/div[2]/div[2]/div[1]/form/div/div/div/div[3]/div/div')\
.send_keys(u'\ue007') #Send message
DiscordBot(username, pw, Spam)