我正在尝试使用 C# 执行一些 JS 代码:
executor.ExecuteScript("window.document.getElementById('pmtDate').setAttribute('value','08/16/2013');");
而不是08/16/2013
我想为日期传递变量。
谁能告诉我这个的语法?
我正在尝试使用 C# 执行一些 JS 代码:
executor.ExecuteScript("window.document.getElementById('pmtDate').setAttribute('value','08/16/2013');");
而不是08/16/2013
我想为日期传递变量。
谁能告诉我这个的语法?
我的理解,您想要 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+");");
有两种主要技术可以做到这一点。一种是字符串连接,另一种是字符串插值。
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 });
var temp_date='08/16/2013';
executor.ExecuteScript("window.document.getElementById('pmtDate').setAttribute('value',tempdate);");
如果我说对了:
executor.ExecuteScript("var date = '08/16/2013'; window.document.getElementById('pmtDate').setAttribute('value',date);");
尝试这个:
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());");