在以前版本的硒2我別無選擇,要處理的警報Internet Explorer中通過重寫JavaScript中的window.alert:
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
// Override window.alert to store the prompt and accept it automatically
js.ExecuteScript("window.alert = function(msg) { document.bAlert = true; document.lastAlert=msg; }");
// Do some stuff...
// Check for alert
Object o = js.ExecuteScript("return document.bAlert");
if (o != null && (bool)o == true)
{
//retrieve the alert message
o = js.ExecuteScript("return document.lastAlert");
// Do something with the alert text
}
硒2.0b3有用於處理在IE和Firefox警報的支持,這樣你就可以做到以下幾點:
IAlert alert = driver.SwitchTo().Alert();
// Get the text from the alert
string alertText = alert.Text;
// Accept the alert
alert.Accept();
但是,我還沒有能夠得到上面的是/否警報(Dismiss()適用於No,但Accept()不適用於Yes)。我正在查看IEDriver以確定這是爲什麼。
我重新格式化了你的代碼。是否可以翻譯中文標誌?也許他們透露一些信息。 – GvS 2011-03-02 09:15:44
嘿,查看我的回答 – Johnydep 2012-09-03 02:55:16