Пайтон + селениум

Nobless Blood

Новичок
Пользователь
Апр 1, 2021
5
0
1
Добрый день всем! Пытаюсь писать бот, на нем же и учусь. Задача: открываем приложение, далее вводим пароль и логин в формы, которые селениум переносит на нужный сайт и входя переносит некоторые данные в приложение. Из кода пока у нас вот это: (мне кажется я намудрила поэтому скину 2 части кода которые совмещаю сообщениями ниже )


from tkinter import messagebox
from tkinter import *
from selenium import webdriver

class bot():


root = Tk() # окошко бота
root.title('Бот пробы') # название бота
root.geometry('1020x620') # размер окна
root.configure(bg='grey25') # цвет окна



def login():
text_enter_login = Label(text='Введите логин')
global enter_login
enter_login = Entry()
text_enter_pass = Label(text = 'Введите пароль')
global enter_passworld
enter_passworld = Entry(show='*')
button_enter = Button(text='Войти', command = 'log_in()')
text_enter_login.pack()
text_enter_login.pack()
enter_login.pack()
text_enter_pass.pack()
enter_passworld.pack()
button_enter.pack()


login()

def log_in():

driver = webdriver.Chrome("path-to-driver")
driver.get("https://www.lowadi.com")

username_box = driver.find_element_by_id("login")
username_box.send_keys(enter_login)

password_box = driver.find_element_by_id("password")
password_box.send_keys(enter_passworld)



root.mainloop() # последняя строчка программы (окошка бота)
 

Noor

Пользователь
Пользователь
Ноя 13, 2020
85
19
8
так, а в чем суть проблемы ?
 

Nobless Blood

Новичок
Пользователь
Апр 1, 2021
5
0
1
так, а в чем суть проблемы ?
кнопка не работает, не могу понять почему. Может быть в коде что-то не то сверх кнопки. Как у новичка я думаю будет целый набор ошибок.
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
кнопка не работает, не могу понять почему
Потому что к кнопке не привязана функция.
Может быть в коде что-то
У вас весь код - это два не связанных скрипта с ошибками.
Приведу вам рабочий пример и ссылки на документацию, а дальше читайте и изучайте самостоятельно.
Вот ссылки на документацию: selenium, tkinter.
Вот пример:
Python:
from tkinter import Tk, Label, Entry, Button
from selenium import webdriver


root = Tk()  # окошко бота
root.title('Бот пробы')  # название бота
root.geometry('1020x620')  # размер окна
root.configure(bg='grey25')  # цвет окна


# лейблы и поля для ввода
text_enter_login = Label(text='Введите логин')
enter_login = Entry()
text_enter_pass = Label(text='Введите пароль')
enter_password = Entry(show='*')
# размещение их на форме
text_enter_login.pack()
enter_login.pack()
text_enter_pass.pack()
enter_password.pack()

# передаем логин и пароль в функцию log_in по нажатию кнопки
button_enter = Button(text='Войти',
                      command=lambda: log_in(enter_login.get(),
                                             enter_password.get()))
# размещаем кнопку на форме
button_enter.pack()


def log_in(login, password):
    # выводим логин и пароль в консоль для проверки
    print(login, password)

    # для работы с драйвером нужно его скачать https://chromedriver.chromium.org/downloads
    # а также либо добавить в PATH, либо указать путь к нему
    # в качестве аргумента функции webdriver.Chrome('путь_к_драйверу')
    driver = webdriver.Chrome()
    driver.get("https://www.lowadi.com")

    # ждем чтобы сайт загрузился
    driver.implicitly_wait(3)

    # находим кнопку "войти" и кликаем на нее
    login_label = driver.find_element_by_id("header-login-label")
    login_label.click()

    # находим поле логин и вводим логин
    username_box = driver.find_element_by_id("login")
    username_box.send_keys(login)

    # находим поле пароль и вводим пароль
    password_box = driver.find_element_by_id("password")
    password_box.send_keys(password)

    # находим кнопку "соединение" и кликаем на нее
    button = driver.find_element_by_class_name("button-text-20")
    button.click()


root.mainloop()  # последняя строчка программы (окошка бота)
 

Nobless Blood

Новичок
Пользователь
Апр 1, 2021
5
0
1
Потому что к кнопке не привязана функция.

У вас весь код - это два не связанных скрипта с ошибками.
Приведу вам рабочий пример и ссылки на документацию, а дальше читайте и изучайте самостоятельно.
Вот ссылки на документацию: selenium, tkinter.
Вот пример:
Python:
from tkinter import Tk, Label, Entry, Button
from selenium import webdriver


root = Tk()  # окошко бота
root.title('Бот пробы')  # название бота
root.geometry('1020x620')  # размер окна
root.configure(bg='grey25')  # цвет окна


# лейблы и поля для ввода
text_enter_login = Label(text='Введите логин')
enter_login = Entry()
text_enter_pass = Label(text='Введите пароль')
enter_password = Entry(show='*')
# размещение их на форме
text_enter_login.pack()
enter_login.pack()
text_enter_pass.pack()
enter_password.pack()

# передаем логин и пароль в функцию log_in по нажатию кнопки
button_enter = Button(text='Войти',
                      command=lambda: log_in(enter_login.get(),
                                             enter_password.get()))
# размещаем кнопку на форме
button_enter.pack()


def log_in(login, password):
    # выводим логин и пароль в консоль для проверки
    print(login, password)

    # для работы с драйвером нужно его скачать https://chromedriver.chromium.org/downloads
    # а также либо добавить в PATH, либо указать путь к нему
    # в качестве аргумента функции webdriver.Chrome('путь_к_драйверу')
    driver = webdriver.Chrome()
    driver.get("https://www.lowadi.com")

    # ждем чтобы сайт загрузился
    driver.implicitly_wait(3)

    # находим кнопку "войти" и кликаем на нее
    login_label = driver.find_element_by_id("header-login-label")
    login_label.click()

    # находим поле логин и вводим логин
    username_box = driver.find_element_by_id("login")
    username_box.send_keys(login)

    # находим поле пароль и вводим пароль
    password_box = driver.find_element_by_id("password")
    password_box.send_keys(password)

    # находим кнопку "соединение" и кликаем на нее
    button = driver.find_element_by_class_name("button-text-20")
    button.click()


root.mainloop()  # последняя строчка программы (окошка бота)
Cпасибо, пошла разбираться! Хотела бы плюху вам кинуть в жизни, как с вами можно связаться?
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
как с вами можно связаться?
наводите курсор на ник-там кнопка-Начать переписку
 

Форум IT Специалистов