Перейти к содержимому

Фотография

Поле формы искажает данные, отправленные через SendKeys()

selenium

  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 falkona

falkona

    Новый участник

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Даша
  • Город:Москва

Отправлено 27 октября 2018 - 16:32

Есть форма авторизации

https://login.mts.ru....mts.ru/private

 

Код, который заполняет поле "Номер"

IWebElement inputPhone = browser.FindElement(By.Id("phone"));


inputPhone.Clear();
inputPhone.Click();
inputPhone.SendKeys("1234567890");

Результат: http://prntscr.com/lb5c2p

Т.е. форма взяла и переместила первый символ на последнее место

 

Экспериментировала по-разному: и передавала с первой 7 (результат еще более впечатляющий), и скобки-тире-пробелы. Форма меняет последовательность самым непредсказуемым образом.

 

Что есть на странице: 

 

сам инпут:

<input id="phone" type="tel" placeholder="" name="phone" class="input js-mask-phone_new" autocomplete="on" value="" maxlength="15" aria-invalid="false">

И вот такая штука

      $(function(){
       $('.js-mask-phone_new').mask('(000) 000-00-00');
      });
Подозреваю, что, может, эта маска хулиганит, но в JS я ни в зуб ногой.
 
В общем, как сделать так, чтобы в поле помещалось ровно та строка, которая мне нужна?

 


  • 0

#2 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 30 октября 2018 - 12:13

Попробуйте

browser.executeScript("arguments[0].value = '1234567890'", inputPhone);

  • 0



Темы с аналогичным тегами selenium

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных