Python Forum

Full Version: Trying to make a bot to connect on discord with Selenium Python
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Trying to make a bot to connect on discord with Selenium Python: I've been trying to make a bot to connect to my discord.

Imports needed are listed below:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
The following code is my script - defining DiscordBot:

class DiscordBot:

def __init__(self, email, password):
    self.email = email
    self.password = password
    self.driver = webdriver.Firefox()

def closeBrowser(self):
    self.driver.close()      

def login(self):
    driver = self.driver
    driver.get("https://discordapp.com/login")
    browser = webdriver.Firefox()
    email = browser.find_element("register-email")
    email.send_keys("[email protected]")
    password = browser.find_element("register-password")
    password.send_keys("my password")
    browser.find_element_by_name("login").click()
    time.sleep(2)
However, my problem is when the above code runs, it produces the following error:

raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidArgumentException: 
Message: unknown variant `register-email`, expected one of `css selector`, `link text`,
`partial link text`, `tag name`, `xpath` at line 1 column 26
Indentation of methods is incorrect in class DiscordBot needs indent of 4

add to imports:
from selenium.webdriver.common.by import By
change find_element lines similar to:
email = browser.find_element(By.NAME, "register-email")
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select

driver = webdriver.Chrome()

driver.get("https://discord.com/login")
time.sleep(6)

username_input = driver.find_element_by_name('email')
username_input.send_keys("enter-your-username-here")


password_input = driver.find_element_by_name('password')
password_input.send_keys("Enter-your-password-here")


login_button = driver.find_element_by_xpath('//*[@id="app-mount"]/div[2]/div/div[2]/div/div/form/div/div/div[1]/div[3]/button[2]')
login_button.click()