selenium fill forms
и selenium locator guide
. Разбираетесь с нужным вам локатором, находите webdriver-ом методом .find_element()
на странице элемент формы с локатором, у него будет метод .sendkeys()
. Этим методом отправляете нужную строку, она заполнит форму. Далее, обычно, выполняют у элемента формы метод .submit()
либо ищут локатор кнопки и к элементу кнопки применяют метод .click()
User
. Что у user
-а делает метод save
? Спасает user
-а? И почему он грубо дергает метод из другого класса? user
-а должен быть среди атрибутов api
, ну так и сделайте такой атрибут в классе Users
, пусть этот атрибут становится определенным экземпляром класса MyApi
, и уже там вы явно сможете использовать метод из класса MyApi
, но! Только для изменения самого атрибута api
у экземпляра класса Users
. Нехорошо напрямую менять собственно user
-а, кроме его атрибута user.api
, методом из класса MyApi.
voice_state.play
, а о вашемasync def play(ctx, filename)