У меня был очень похожий опыт, но я остановился на другом решении.
Я тоже тестировал скрипт на 8 ядерном 32 гб дедике с широким каналом и там еле еле 10 потоков шло.
Работающими решением оказалось взять 32 ядерный локальный сервер с 64 оперативки, на не очень быстром канале, с сокс5, на нем 100+ потоков запускалось.
Скрипт тот же, никаких оптимизаций не делалось.
Стоит конечно побольше, чем аренда дедика но тут уж зависит от окупаемости твоей темы, стоит ли оно того или нет.
Но соксы могут быть узким местом, по возможности нужно делать свои соксы. Для этого, можно брать дешевые VPS и установить сокс через опенсурсный софт microsocks для линукса (в инете полно инструкций по установке, занимает не более 5 минут вручную, и можно установку через БАС автоматизировать также на случай если нужны сотни соксов).
Ввод фразы по букве
-
Приветствую!
Есть задача ввести определённую фразу побуквенно в поиск, дожидаясь, пока в поиске появится выпадающее меню подсказок.
Столкнулся со следующей проблемой.
Если я делаю со включённой имитацией мыши и клавиатуры, то она во-первых вводится некорректно, меняя буквы местами, во-вторых происходит неестественный процесс, что после каждой введённой буквы пользователь двигает мышкой.
Если же отключить имитацию клавиатуры и мыши, то каждая новая введённая буква стирает предыдущую.
Соответственно, нужно, чтобы:
- Фраза вводилась корректно и целиком
- Между введением каждой новой буквы не происходило никаких движений
Проект прилагаю.
0_1502116609610_тест.xml -
Я бы сделал следущее: ввел бы до первой или до второй буквы и вызвал бы метод "ждать появления элемента", т.е. ждал бы элемент-подсказку. Плюс ко всему перед вводом, как уже сказали выше, сделать фокус на поле для ввода при помощи "двигать мышь и кликнуть".
-
Как-то все усложняете, готовый метод в котором нуждается спрашивающий, я скинул в примере. Просто есть разница между 2-мя разными по своей сути блоками "Ввод текста". Это 1-й - когда нажимаешь на поле ввода и выбираешь в выпадающем меню "ввод текста". 2-й - это когда по умолчанию курсор уже установлен на поле ввода(если нет, можна просто туда кликнуть) и использовать Браузер->Ввод текста, ставить задержку (спать) какую угодно и парсить подсказки. В данном случае курсор не учавствует и буквы не заменяются. Все как в реальности.