0

我正在尝试使用 C# 执行一些 JS 代码:

executor.ExecuteScript("window.document.getElementById('pmtDate').setAttribute('value','08/16/2013');");

而不是08/16/2013我想为日期传递变量。

谁能告诉我这个的语法?

4

5 回答 5

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+");");
于 2013-08-09T07:23:34.913 回答
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 });
于 2013-08-09T08:11:47.893 回答
0
var temp_date='08/16/2013';

executor.ExecuteScript("window.document.getElementById('pmtDate').setAttribute('value',tempdate);");
于 2013-08-09T07:06:55.370 回答
0

如果我说对了:

executor.ExecuteScript("var date = '08/16/2013'; window.document.getElementById('pmtDate').setAttribute('value',date);");
于 2013-08-09T07:07:08.560 回答
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());");
于 2013-08-09T07:11:32.200 回答