Цикл for в python.
Не считая листинга там 164 слова. При средней скорости чтения в 120 слов в минуту вы потратите чуть больше минуты на прочтение этой статьи. На прочтение с попыткой понять - не более 5 минут, я думаю.
Сколько времени вы потратили с момента создания этого вопроса и сколько вы уже ждете, пока кто-то за вас сделает то, что вы хотите сделать для себя?
Meakin, тут не в тостере дело, вы не знакомы с базовыми операциями python, которые описываются в первой-второй главе любой книги, при этом что-то пытаетесь сделать.
Евстегней Чачлык, так нет никакой разницы в производительности. Что так, что так будет запускаться одна и та-же функция. Разница лишь в том, что при использовании асинхронности во время выполнения "взаимодействия" с пользователем будет запускаться еще один поток event.listen() что-бы получать новые события - это нужно если вам, к примеру, нужно производить цепочку событий с конкретным пользователем (опросы, к примеру). Хотя и это можно сделать с многопоточностью - просто запускать новый поток прослушивания event.listen() и обычным if искать нужный id пользователя. По сути получится то-же самое, что и при использовании асинхронности.
Я не думаю, что в вашем боте есть хоть какие-то блокирующие event.listen операции, за исключением тех, которые вы запускаете сами, но именно для таких целей и есть многопоточность - запуск независимой функции, которая не будет вмешиваться в работу основного процесса.
Офигеть, очень круто. Выяснилось, что geckodriver не "подчищает" за собой Temp папку. Хотя, в принципе в этом ничего удивительного нет, но тем не менее это никак не позволяет мне найти конкретно нужную папку среди кучи других. Чем дальше, тем больше ощущение, что вот-вот тупик.
Редактировать пост я больше не могу - превышен лимит символов, но нашел кое-что еще.
Оказывается папку с файлами браузера создает не сам Firefox, а geckodriver, получить адрес папки в питоне некак, но она записывается в лог и у нее всегда одно и тоже расположение и один и тот-же префикс:
Думаю самый адекватный вариант - это взять список всех папок и по каждому пройтись примерно так: split('\\')[-1].split('.')[-2] == rust_mozprofile
При совпадении копировать ее содержимое в нужный мне каталог.
Евгений, все, что вам нужно - это найти на новой странице элемент, который загружается позже всех и ожидать его загрузки, скажем, через его xpath.
Вместо того, что-бы использовать то, что не нужно использовать и придумывать то, что не нужно придумывать, ознакомьтесь с тем, что предлагает сам selenium. Вы можете бесконечно засирать код миллионом проверок, циклов, ожиданий и в конечном итоге загрузка страницы будет длиться 5 минут, а любое действие крашить вебдрайвер, а можете просто подумать как использовать имеющийся функционал.
Евгений, в чем у вас проблема? У вас есть 2 страницы: 1, на которой вы вводите данные, нажимаете кнопку отправки, затем ждете загрузку второй страницы и производите на ней разные действия? Если да, то у этих двух страниц разные адреса, или данные меняются на текущей странице JS'ом?
GavriKos, я не смог доесть. Точнее как, 1 сайт до сих пор висит на Ubuntu, но последней каплей стали chmod, которые отвалились от FTP директории, скоро и он переедет на Windows Server
Я не планирую работать в офисе/на фрилансе, я пишу код сугубо для обслуживания своих нужд, проектов ну и просто потому-что нравится. Я никогда не пользовался линуксом да и особо не хочу, по-этому для все, что там происходит - это ад. Спасение нашел, как раз таки, в лице VDS на Windows - файлы скинул, по папочкам, мышкой туцнул - все работает. Раньше я день писал код, а потом два дня пытался его запустить на linux, сейчас такой нужды нет.
Бездарь какой-то ¯\_(ツ)_/¯