您的位置:首页 > Web前端 > JavaScript

Python Webdrive执行Javascript语句的数字与设定的不符

2018-02-23 16:47 260 查看
其实这个描述的标题有点问题,我自己也清楚如何描述这个问题。
场景如下,我想用webdrive执行一段javascript代码,javascript代码的作用是为一个input框输入值,但是在python中字符串拼接不小心踩了个坑,在此记录一下。username = '450802194510012058'
js = 'document.getElementById("input框的ID").setAttribute("value",' + username + ');'
driver.execute_script(js)上面输入身份证作为账号(身份证是我乱填的嘻嘻嘻),第二句代码就是坑的所在,这样输入后的身份证号是450802194510012058。
我自己也纳闷,百思不得骑姐,后来在一番尝试后找到了坑的所在。
仔细"翻译"一下第二句代码,"翻译"后是以下这样js = 'document.getElementById("input框的ID").setAttribute("value", 450802194510012058)';原来,username这个字符串活生生被我用成了整数,javascript可能精确不到那么大的数,所以.....出现了坑。

上面的第二句代码改成以下就可以避免这个问题啦。
js = 'document.getElementById("input框的ID").setAttribute("value","' + username + '");'注意username的两边多了两个双引号~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐