对于Selenium RC中的随机数生成,我有代码,但它在Webdriver中无法正常工作。如果我在webdriver中使用以下代码,则返回null。请在webdriver
中找到以下代码String Randnum = (String) ((JavascriptExecutor) driver).executeScript("var d=new Date().getFullYear()+new Date().getDate().toString()" +
"+new Date().getDay()" +
"+new Date().getHours()" +
"+new Date().getMinutes()" +
"+new Date().getSeconds()" +
"+new Date().getMilliseconds()");
请帮助我...帮助将不胜感激。
答案 0 :(得分:1)
您缺少return语句。没有,javascript将运行但不返回任何内容。
String Randnum = (String) ((JavascriptExecutor) driver).executeScript("return new Date().getFullYear() + new Date().getDate().toString() + new Date().getDay() + new Date().getHours() + new Date().getMinutes() + new Date().getSeconds() + new Date().getMilliseconds()");
答案 1 :(得分:1)
为什么你不能用Java尝试同样的事情?
Calendar currentDate = Calendar.getInstance();
SimpleDateFormat formatter= new SimpleDateFormat("MM_dd_yyyy_hh_mm_ss");
String randomName = formatter.format(currentDate.getTime());
答案 2 :(得分:0)
下面的javascript代码
function displayRandum()
{
var d = new Date().getFullYear()+new Date().getDate().toString() + new Date().getDay() + new Date().getHours()+new Date().getMinutes() + new Date().getSeconds()+new Date().getMilliseconds();
alert(d);
}
完美无缺。你可以尝试使用Selenium代码,将所有内容保存在一行中(不需要额外的“+”和“字符”。
编辑:(错过了回复声明。看到Arran的回复并意识到了这一点。)
function returnRandum()
{
var d = new Date().getFullYear()+new Date().getDate().toString() + new Date().getDay() + new Date().getHours()+new Date().getMinutes() + new Date().getSeconds()+new Date().getMilliseconds();
return d;
}