我在http://selenium.googlecode.com/svn/trunk/docs/api/dotnet/index.html查看.NET的selenium-webdriver API。对于IJavaScriptExecutor.ExecuteScript上的参数,它声明'对于数字,返回Int64'。如果我想用这个方法传递小数(in / out),我该怎么办?例如,Java绑定当前支持十进制和非十进制类型。
感谢任何帮助。
谢谢, Vaibhav的
由于我无法回答我自己的问题,我正在编辑这个问题。 我运行以下代码来测试可以传递给ExcecuteScript方法的参数类型。
try
{
IWebDriver driver = new InternetExplorerDriver();
string script = "return arguments[0];";
double d = 15.009;
float f = 13.2f;
decimal dec = 0.2m;
int i = 8;
object value = ((IJavaScriptExecutor)driver).ExecuteScript(script, new object[] { dec });
driver.Close();
driver.Quit();
}
catch(Exception ex)
{}
以上代码抛出异常'参数属于非法类型0.2参数名称:arg'。但是其他值(double / float / int)可以传递,返回值与传递的相同。双重现在应该服务于我的目的。我担心webdriver会在通过该方法时将我的double转换为Int64。我认为文档需要修改。
谢谢,Vaibhav
答案 0 :(得分:0)
因此解决方案是使用float
代替decimal
。
然后将float
个参数投射到object
,然后将object
投放到float
。