У меня такой способ.Привет, как сохранить капчу на ПК?
2.Обработка изображений->обрезка, там опытным путем или измеряем кусок картинки с капчей и сохраняем в другой файл уже готовую капчуadb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png D:\Dropbox\ZennoPoster\Project\Aliexpress_qr_tel_shop
adb shell rm /sdcard/screen.png
var captha_tel = project.Variables["captha_tel"].Value;
var image = System.Drawing.Image.FromFile("D:\\Dropbox\\ZennoPoster\\Project\\Aliexpress_qr_tel_shop\\captcha.png");
string base64String = String.Empty;
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
byte[] imageBytes = ms.ToArray();
base64String = Convert.ToBase64String(imageBytes);
}
var result = ZennoPoster.CaptchaRecognition("Rucaptcha.dll", base64String, "");
// отрезаем лишнее
var tmp = result.Split(new [] {"-|-"}, StringSplitOptions.None);
if (tmp.Length > 1) return tmp[0];
return result;
нет, в батнике-мне так удобнееadb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png D:\Dropbox\ZennoPoster\Project\Aliexpress_qr_tel_shop
adb shell rm /sdcard/screen.png
А эти строки прописаны в одном снипете вместе с командами управления телом?
Проверку на капчу можно сделать через if elseОк, но допустим я запустил снипет управления телом, дошел до разгадывания капчи, разгадал, получил ответ, но как мне потом вернутся опять к управлению телом? этого не могу понять
if (driver.FindElementsByXPath("//android.widget.EditText[contains(@resource-id, 'et_verification_code')]").Count>0)
{
project.Variables["captha_tel_yes_no"].Value = "yes";
}
else
{
project.Variables["captha_tel_yes_no"].Value = "no";
}
После прерывания работы скрипта, чтоб не потерять текущее состояние, я делаю так:снипет управления телом отработал и я не могу опять вернутся на этап разгадывания капчи
cap.SetCapability("appPackage", "com.teslacoilsw.launcher");
cap.SetCapability("appActivity", "com.teslacoilsw.launcher.NovaLauncher");
Уже не раз говорилось, что у nox намудрено с дровами
список пуст почему то
У NOXа свой ADB.
список пуст почему то
Попробуй
resours-id , нету ,что делать?
driver.FindElement(By.XPath("//android.widget.FrameLayout[@content-desc='Сообщение']")).Click();
Ты выбрал блок с данными, кликни на надпись РегистрацияКак кликнуть сюда "Зарегистрируйтесь", подскажите плз. И какой activity нужно ставить на этой странице?
Посмотреть вложение 19711
где? я кликнул как раз на него же, другого там не даноТы выбрал блок с данными, кликни на надпись Регистрация
попробуй по resource-id кликнуть, в самой статье вроде есть примергде? я кликнул как раз на него же, другого там не дано
так и нажимал, просто активити другой нужен был, разобралсяпопробуй по resource-id кликнуть, в самой статье вроде есть пример
На каждый экземпляр устройства/эмулятора поднимаем сервер.Решил кто нить с многопоточностью?Если они серв поднять и 3 тел подсоединить работать не будет, нужно на каждый тел поднимать серв?
adb -s серийный_номер команда
а в дальнейшем , нужно будет шаблон в многопотоке запускать или нет?На каждый экземпляр устройства/эмулятора поднимаем сервер.
Adb команды тоже разделяем. Сначала смотрим серийный_номер через команду adb devices и посылаем команды на устройства
Код:adb -s серийный_номер команда
Наверное лучше и удобнее будет вывести настройки серверов и серийные номера во входные настройки шаблона ну и в шаблоне по переменным все разнестиа в дальнейшем , нужно будет шаблон в многопотоке запускать или нет?
То естьНа каждый экземпляр устройства/эмулятора поднимаем сервер.
Adb команды тоже разделяем. Сначала смотрим серийный_номер через команду adb devices и посылаем команды на устройства
Код:adb -s серийный_номер команда
--selendroid-port 8082
AndroidDriver<IWebElement> driver = new AndroidDriver<IWebElement>(new Uri("http://127.0.0.1:4723/wd/hub"), cap);
Вот здесь полезные настройки
и как сделать конект к конкретному устройству
смотри в диспетчере задач, в мониторе ресурсов во вкладке сеть какие порты использует виртуалка.были ли у кого проблемы с работой на виртуалках?
не могу приконектится к аппиуму через код, через стандартный порт не хочет, подскажите у кого подобное было
вм черер vmware