4 место Управление любыми Android приложениями на смартфоне из ZP

kul0n

Client
Регистрация
10.03.2016
Сообщения
86
Благодарностей
14
Баллы
8
Привет, как сохранить капчу на ПК?
 
Последнее редактирование:

lybimiy86

Client
Регистрация
29.10.2016
Сообщения
97
Благодарностей
187
Баллы
33
Привет, как сохранить капчу на ПК?
У меня такой способ.
1.Получаем через adb скрин экрана:
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
2.Обработка изображений->обрезка, там опытным путем или измеряем кусок картинки с капчей и сохраняем в другой файл уже готовую капчу

3.Через C# отправляем капчу(файл с картинкой):
Код:
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;
 
  • Спасибо
Реакции: irving zisman

kul0n

Client
Регистрация
10.03.2016
Сообщения
86
Благодарностей
14
Баллы
8
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

А эти строки прописаны в одном снипете вместе с командами управления телом?
 

lybimiy86

Client
Регистрация
29.10.2016
Сообщения
97
Благодарностей
187
Баллы
33
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

А эти строки прописаны в одном снипете вместе с командами управления телом?
нет, в батнике-мне так удобнее
 

kul0n

Client
Регистрация
10.03.2016
Сообщения
86
Благодарностей
14
Баллы
8
Ок, но допустим я запустил снипет управления телом, дошел до разгадывания капчи, разгадал, получил ответ, но как мне потом вернутся опять к управлению телом? этого не могу понять
 

kul0n

Client
Регистрация
10.03.2016
Сообщения
86
Благодарностей
14
Баллы
8
снипет управления телом отработал и я не могу опять вернутся на этап разгадывания капчи
 

lybimiy86

Client
Регистрация
29.10.2016
Сообщения
97
Благодарностей
187
Баллы
33
Ок, но допустим я запустил снипет управления телом, дошел до разгадывания капчи, разгадал, получил ответ, но как мне потом вернутся опять к управлению телом? этого не могу понять
Проверку на капчу можно сделать через 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";
}
снипет управления телом отработал и я не могу опять вернутся на этап разгадывания капчи
После прерывания работы скрипта, чтоб не потерять текущее состояние, я делаю так:
1.Нужное приложение должно быть на рабочем столе
2.Затем запускаю appium с activity рабочего стола, например для NovaLauncher как у меня:
Код:
cap.SetCapability("appPackage", "com.teslacoilsw.launcher");
cap.SetCapability("appActivity", "com.teslacoilsw.launcher.NovaLauncher");
3.Ну и стандартно уже через appium кликаю по приложению в итоге все загружается без потери прогресса.
Appium нельзя запускать без activity вообще - вычитал на иностранных форумах.
 

kul0n

Client
Регистрация
10.03.2016
Сообщения
86
Благодарностей
14
Баллы
8
Ок, спасибо за помощь, буду пробовать
 

instacash

Client
Регистрация
22.12.2016
Сообщения
61
Благодарностей
4
Баллы
8

список пуст почему то
 

lybimiy86

Client
Регистрация
29.10.2016
Сообщения
97
Благодарностей
187
Баллы
33
  • Спасибо
Реакции: instacash

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 099
Благодарностей
648
Баллы
113
  • Спасибо
Реакции: instacash

instacash

Client
Регистрация
22.12.2016
Сообщения
61
Благодарностей
4
Баллы
8


resours-id , нету ,что делать?
 

lybimiy86

Client
Регистрация
29.10.2016
Сообщения
97
Благодарностей
187
Баллы
33
Последнее редактирование:

instacash

Client
Регистрация
22.12.2016
Сообщения
61
Благодарностей
4
Баллы
8
обновил ведро , щас все поехало :ak:
 

SteveJobs

Client
Регистрация
03.11.2016
Сообщения
283
Благодарностей
30
Баллы
28
Как кликнуть сюда "Зарегистрируйтесь", подскажите плз. И какой activity нужно ставить на этой странице?
1233.jpg
 

lybimiy86

Client
Регистрация
29.10.2016
Сообщения
97
Благодарностей
187
Баллы
33

SteveJobs

Client
Регистрация
03.11.2016
Сообщения
283
Благодарностей
30
Баллы
28

kul0n

Client
Регистрация
10.03.2016
Сообщения
86
Благодарностей
14
Баллы
8

Webimbo

Client
Регистрация
03.06.2014
Сообщения
77
Благодарностей
5
Баллы
8
Доброго дня! Клик с удержанием не подскажете как реализовать, который необходим для вызова контекстного меню в некоторых приложениях?
 

instacash

Client
Регистрация
22.12.2016
Сообщения
61
Благодарностей
4
Баллы
8
Решил кто нить с многопоточностью?Если они серв поднять и 3 тел подсоединить работать не будет, нужно на каждый тел поднимать серв?
 

SteveJobs

Client
Регистрация
03.11.2016
Сообщения
283
Благодарностей
30
Баллы
28

lybimiy86

Client
Регистрация
29.10.2016
Сообщения
97
Благодарностей
187
Баллы
33
Решил кто нить с многопоточностью?Если они серв поднять и 3 тел подсоединить работать не будет, нужно на каждый тел поднимать серв?
На каждый экземпляр устройства/эмулятора поднимаем сервер.
Adb команды тоже разделяем. Сначала смотрим серийный_номер через команду adb devices и посылаем команды на устройства
Код:
adb -s серийный_номер команда
 
  • Спасибо
Реакции: irving zisman

ol1ver

Client
Регистрация
29.08.2013
Сообщения
332
Благодарностей
82
Баллы
28
cильно!
 

instacash

Client
Регистрация
22.12.2016
Сообщения
61
Благодарностей
4
Баллы
8
На каждый экземпляр устройства/эмулятора поднимаем сервер.
Adb команды тоже разделяем. Сначала смотрим серийный_номер через команду adb devices и посылаем команды на устройства
Код:
adb -s серийный_номер команда
а в дальнейшем , нужно будет шаблон в многопотоке запускать или нет?
 

lybimiy86

Client
Регистрация
29.10.2016
Сообщения
97
Благодарностей
187
Баллы
33
а в дальнейшем , нужно будет шаблон в многопотоке запускать или нет?
Наверное лучше и удобнее будет вывести настройки серверов и серийные номера во входные настройки шаблона ну и в шаблоне по переменным все разнести
 

instacash

Client
Регистрация
22.12.2016
Сообщения
61
Благодарностей
4
Баллы
8
На каждый экземпляр устройства/эмулятора поднимаем сервер.
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);
 

instacash

Client
Регистрация
22.12.2016
Сообщения
61
Благодарностей
4
Баллы
8


и как сделать конект к конкретному устройству
 

lybimiy86

Client
Регистрация
29.10.2016
Сообщения
97
Благодарностей
187
Баллы
33
  • Спасибо
Реакции: Zedx и irving zisman

desided

Client
Регистрация
19.10.2015
Сообщения
120
Благодарностей
11
Баллы
18
были ли у кого проблемы с работой на виртуалках?
не могу приконектится к аппиуму через код, через стандартный порт не хочет, подскажите у кого подобное было
вм черер vmware
 

Webimbo

Client
Регистрация
03.06.2014
Сообщения
77
Благодарностей
5
Баллы
8
были ли у кого проблемы с работой на виртуалках?
не могу приконектится к аппиуму через код, через стандартный порт не хочет, подскажите у кого подобное было
вм черер vmware
смотри в диспетчере задач, в мониторе ресурсов во вкладке сеть какие порты использует виртуалка.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)