Selenium добавляет странные символы в конец javascript в поле формы
-
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