doza_and
Я бы это назвал кошмар программиста.
Кошмар программиста - это когда на форуме задаешь один вопрос, а в ответ получаешь ответы которые только отнимают время. Если такая структура кода нужна, значит она удобна.
Для взаимодействия с элементами страницы удобен доступ вида
MainPage.searche_frame.block_resultat.resultats.save_to_db()
Вот к примеру нужно зайти на адрес и кликнуть пагинатор:
MainPage.searche_frame.block_resultat.block_paginator.buttons[2].click()
Или лучше так?
wd.get("http://www.wwwww.ww/www/www/www2352?page=1#post-173417")
searche_frame = wd.find_element_by_id("searche_frime_id")
self.wd.switch_to.frame(searshe_frame)
WebDriverWait(wd, 10).until(lambda driver: driver.find_elements_by_xpath("//locator")).click()
А потом уйти на другую страницу и сделать еще какие-то действия…. Вот это и есть кошмар.
Ну или так, если действия происходят без перезагрузки страницы, то можно сокращать.
block_result = MainPage.searche_frame.block_resultat
block_result.resultats.save_to_db()
block_result.block_paginator.buttons[2].click()
Один раз описал модель страницы и не надо заморачиваться. Вся логика будет возложена в классах.
Все действия, которые необходимы для достижения цели выполняются автоматически.
doza_and
многие разработчики склоняются к тому что автодополнение в питоне вообще не нужно
Когда код такой структуры и вложенности, то автодополнение помогает для сокращения времени. Смотришь на страницу, знаешь что элемент в модели есть, а название забыл. Или забыл родительских элементов имена. А с автодополнением двигаешься и знаешь по дереву когда на лево пойти, когда на право и выбор есть из всех аттрибутов. Нет аттрибута, дополняешь модель, есть аттрибут, Enter и делов-то. Скорость увеличивается, интуитивность перемещения появляется.
А по поводу мнения, я тоже на vim просидел много времени, потому что многие разработчики говорили что это круто и PyCharm для обучения хорош. А когда пересел, то как с трактора в иномару.
doza_and
Вот у меня в одном приложении описания классов по сети с других машин грузятся
А у меня не грузится. Мы же в этой теме рассматриваем примеры на моем случае. Не надо расширять абстракции.
doza_and
я вообще не увидел использования модулей и пакетов, используются только классы
Это экспериментальный пример для меньшего напряга мозга на форуме. Если я разверну код который я написал в течении 3х дней эксперементируя различными подходами….
Как же с вами тяжело-то. Дельное уже может кто что посоветует, а?