- Регистрация
- 30.12.2019
- Сообщения
- 5
- Благодарностей
- 0
- Баллы
- 1
Добрый день! Делаю регер для майл.ру.Дошел до смс сервис.Но тут возник ошибка с сервисом simsms "Ready status not available" Может кто столкнулся.Ниже предоставлен код
C#:
// Инициируем строку под номер телефона
string PhoneNum;
// Получаем номер и id операции
string RegId = ZennoPoster.Sms.GetNumber("SimSmsOrg.dll", out PhoneNum, "opt4", "RU");
//return RegId+ " "+ PhoneNum;
// Если в номере больше чем 10 чисел, это значит, что сервис отдал его с 7-й. Во многих случаях 7 уже установлено в поле занесения номера, и нам нужно от неё избавиться
if (PhoneNum.Length > 10)
{
// Удаляем первую цифру из номера(семёрку)
PhoneNum = PhoneNum.Remove(0, 1);
}
//return PhoneNum;
// Метка в лог
project.SendInfoToLog("Получили номер: " + PhoneNum);
//return RegId ;
//Отправляем на сервис запрос, что номер получен, и что нужно дожидаться СМС с кодом по этому номеру
string Status = ZennoPoster.Sms.SetStatus("SimSmsOrg.dll", RegId, InterfacesLibrary.SmsService.Enums.SmsServiceStatus.Ready);
//return Status;
// Если ответ от сервиса- Ready, это означает, что всё норм. и можно продолжить работу
if ( Status == "Ready")
{
// Находим поле ввода телефона
HtmlElement PhoneArea = instance.ActiveTab.FindElementByXPath("//input[@id='phone-number__phone-input']", 0);
// Кликаем по нему, ставим курсор
PhoneArea.Click();
// Заносим в поле полученый номер
PhoneArea.SetValue(PhoneNum, "Full", true);
// Находим кнопку регистрации
HtmlElement PhoneButton = instance.ActiveTab.FindElementByXPath("//span[text()='Зарегистрироваться']", 0 );
// Кликаем по ней
PhoneButton.Click();
// Переходим на др. стр. и ждём её полной прогрузки
instance.ActiveTab.WaitDownloading();
//return Status;
// Забираем код из СМС
string Code = ZennoPoster.Sms.GetStatus("SimSmsOrg.dll", RegId, "", 20);
// Метка в лог
project.SendInfoToLog("Код из СМС: " + Code, true);
// Находим поле ввода кода из СМС
HtmlElement SmsCodeArea = instance.ActiveTab.FindElementByAttribute("input:number", "class", "responsive","regexp", 0 );
// Заносим код в поле
SmsCodeArea.SetValue(Code, "Full", true);
// Находим кнопку отправки кода
HtmlElement CodeButton = instance.ActiveTab.FindElementByAttribute("button", "class", "responsive","regexp", 0 );
// Жмём на неё
CodeButton.Click();
}
// Если ответ на Ready, это значит что работу надо останавливать
else
{
// Ошибка с прерыванием
throw new System.Exception("Выполнение прервано, проблему с СМС активацией");
}
//return "Ok";