Selenium добавляет странные символы в конец javascript в поле формы

StackOverflow https://stackoverflow.com/questions/811921

  •  03-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь настроить поле для предварительного заполнения уникальным набором символов, чтобы я мог автоматически создавать тестовые учетные записи.Из-за особенностей настройки системы поле имени должно быть уникальным и не должно содержать числовых символов.

Я собрал этот селеновый код, и он работает на 99%, но в конце хорошего кода остаются лишние мусорные символы.

javascript{stringtime=''; 
nowtime=new Date().getTime().toString(); 
for ( var i in nowtime ) 
  { stringtime+=String.fromCharCode(parseInt(nowtime[i])+65 ); }; 
'test' + stringtime + '\0'}

Результат:testBCEBBJCBFBBAI + несколько символов, которые сюда не скопируются.Они выглядят как 4 нуля в квадрате.

Заранее спасибо за помощь.

Это было полезно?

Решение

Исключая символ '\0' в конце, который отображается как ?, и в Selenium, я думаю, что у движка javascript возникают проблемы с обработкой for(var i в настоящее время).Попробуйте это так:

javascript{
  stringtime= '';
  nowtime=new Date().getTime().toString();
  for(var i = 0; i < nowtime.length; i++){
    stringtime += String.fromCharCode(parseInt(nowtime[i])+65);
  }
  stringtime;
}

Другие советы

Эти символы выходят за рамки стандартного ASCII и ваш шрифт не может воспроизвести.Эти цифры обозначают, какой это персонаж.Если там 4 нуля, то это оно \0 символ, который вы ставите в конце.Я не знаю языка, но, похоже, вам это не нужно.

Кроме того, ваш генератор случайных чисел немного несовершенен.Посмотрите здесь:

http://www.mediacollege.com/internet/javascript/number/random.html

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top