我正在查看http://selenium.googlecode.com/svn/trunk/docs/api/dotnet/index.html上的 .NET 的 selenium-webdriver API 。对于 IJavaScriptExecutor.ExecuteScript 上的参数,它声明“对于数字,返回 Int64”。如果我想用这种方法传递一个小数(输入/输出),我需要做什么?例如,Java 绑定当前支持十进制和非十进制类型。
任何帮助表示赞赏。
谢谢, 瓦巴夫
由于我无法回答自己的问题,因此我正在编辑问题。我运行以下代码来测试可以传递给 ExecuteScript 方法的参数类型。
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)
{}
上面的代码抛出异常'Argument is of an invalid type 0.2 Parameter name: arg'。但是可以传递其他值(double/float/int),返回值与传递的相同。替身现在应该符合我的目的。我担心 webdriver 在通过该方法时会将我的双精度转换为 Int64。我认为文档需要修改。
谢谢, 瓦巴夫