我正在查看用於.NET的selenium-webdriver API http://selenium.googlecode.com/svn/trunk/docs/api/dotnet/index.html。對於IJavaScriptExecutor.ExecuteScript上的參數,它聲明'對於一個數字,返回一個Int64'。如果我想用此方法傳遞小數(進/出),我需要做什麼?例如,Java綁定目前支持十進制和非十進制類型。selenium webdriver ijavascriptexecuter執行腳本參數類型
任何幫助表示讚賞。
感謝, 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的
你有沒有嘗試過將'object'投射到'float'然後'float'到'object'? –
@FrancisP,不會這樣cast(對象爲int,然後int爲float)鬆開小數點後的值嗎? – vabii
你是100%正確的,你是否用直接演員試過了? –