Selenium在表单字段中将j怪字符添加到javascript的末尾
-
03-07-2019 - |
题
我正在尝试设置一个字段来预填充一组唯一的字符,以便我可以自动生成测试帐户。由于系统的设置方式,名称字段必须是唯一的,并且不得包含数字字符。
我把这个selenium代码放在一起,它的工作方式有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
char就会在最后加上。我不懂语言,但看起来你不需要。
你的随机数发生器也有点缺陷。看看这里:
http://www.mediacollege.com/internet/javascript/number /random.html
不隶属于 StackOverflow