我正在尝试使用C#执行一些JS代码:
executor.ExecuteScript("window.document.getElementById('pmtDate').setAttribute('value','08/16/2013');");
而不是08/16/2013
我希望为Date传递变量。
任何人都可以让我知道这个的语法吗?
答案 0 :(得分:0)
var temp_date='08/16/2013';
executor.ExecuteScript("window.document.getElementById('pmtDate').setAttribute('value',tempdate);");
答案 1 :(得分:0)
如果我说对了你的话:
executor.ExecuteScript("var date = '08/16/2013'; window.document.getElementById('pmtDate').setAttribute('value',date);");
答案 2 :(得分:0)
试试这个:
var currentDate = new Date();
window.document.getElementById('pmtDate').setAttribute('value', getDate());
function getDate(){
return currentDate.toString();
}
更新的答案:
executor.ExecuteScript("function getDate(){return currentDate.toString();}var currentDate = new Date();window.document.getElementById('pmtDate').setAttribute('value', getDate());");
答案 3 :(得分:0)
我的理解是,您希望日期格式为mm / dd / yyyy。 要获取当前日期,请使用以下代码:
var d = new Date();
var month = d.getMonth()+1;
var day = d.getDate();
var today = (month<10 ? '0' : '') + month + '/' + (day<10 ? '0' : '') + day + '/' + d.getFullYear();
现在将其与您的代码一起使用。
executor.ExecuteScript("window.document.getElementById('pmtDate').setAttribute('value',"+today+");");
答案 4 :(得分:0)
这样做有两种主要技巧。一个是字符串连接,另一个是字符串插值。
var theDate = "8/16/2013";
var theCommand = "window.document.getElementById('pmtDate').setAttribute('value'," + theDate + ");"
executor.ExecuteScript(theCommand);
var theDate = "8/16/2013";
var theCommand = String.Format("window.document.getElementById('pmtDate').setAttribute('value', {0});", theDate);
executor.ExecuteScript(theCommand);
如果您正在使用Selenium,您还可以将参数数组传递给函数:
var theDate = "8/16/2013";
var theCommand = "window.document.getElementById('pmtDate').setAttribute('value', arguments[0]);";
executor.ExecuteScript(theCommand, new object[] { theDate });