selenium webdriver ijavascriptexecuter executioncript参数类型

时间:2012-10-25 15:48:22

标签: c# selenium-webdriver

我在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

1 个答案:

答案 0 :(得分:0)

因此解决方案是使用float代替decimal

然后将float个参数投射到object,然后将object投放到float