metotron
Так как у меня есть несколько “видов” текстовых полей, то я хотел бы модифицировать этот метод таким образом, чтобы он определял тип поля и в соотсветствии с этим типом по разному этот текст вставлял
Метод set_text() менять не надо. Его задача (его функция) - правильно вставить текст, который ему подаётся. Поэтому текст ты должен получить ещё до вызова метода, а потом этот текст уже подать в метод. Так вот, чтобы получить правильный текст, ты должен сделать отдельный класс с такими методами, которые дают разные тексты.
Наследования надо избегать, так как оно сковывает программу. После запуска программы ты не можешь менять связи, которые создаются при наследовании. Его заменяют агрегацией. Так что если хочешь наследовать что-то, лучше сделать это без наследования.
metotron
Далее хотелось добавить небольшой набор своих методов, типа element.fill_form который бы заполнял форму используя как “родные” методы Seleniuma так и модифицированные
Сделай отдельный класс и туда можешь добавлять что угодно. Чтобы использовать Selenium, необязательно его использовать напрямую. У тебя должен быть свой класс, к экземпляру которого ты можешь подключить объект Selenium'а, и твой класс будет делать свои действия, используя подключенный объект. При этом ты можешь отключить объект Selenium'а от экземпляра, переделать его и подключить обратно. Твой класс не поймёт, что там что-то изменилось, но станет всё делать по-другому. Это и есть агрегация - ты можешь что угодно подключить к своему классу
в любой момент при выполнении программы и он станет свои действия делать через это.