2016-04-05 65 views
0

我需要接受一個網頁瀏覽器彈出窗口來刷新網站。 我用下面的腳本來刷新網站 -如何使用硒webdriver c切換焦點到瀏覽器彈出窗口#

driver.FindElement(By.Id("all_bt")).SendKeys(Keys.F5); 

之後,我用下面的代碼以接受Web瀏覽器彈出。

IAlert alert = driver.SwitchTo().Alert(); 
        Thread.Sleep(3000); 
        alert.Accept(); 

但是我收到錯誤,因爲沒有找到警報。 我相信重點不在彈出,這可能是原因。 有人能幫助我嗎?

+0

嘗試直接點擊就OK了..如果仍然沒有工作,然後檢查是否有任何框架存在..它必須工作除了瀏覽器彈出窗口之外,應用程序彈出窗口..在這種情況下切換到警報將不起作用 –

+0

直接單擊確定按鈕它正在工作。 > \t​​assertAlert \t​​過程已被錯誤而中斷 - 在錄製腳本彈出確認。 \t​​ – Rajith

+0

酷..我已經加入溶液作爲答案,..請接受答案它將幫助:) –

回答

0

如果您需要刷新頁面,而不是用F5 sendkey您可以按照以下嘗試用Java

driver.navigate().refresh(); 

改編職系彈出,能夠檢查在彈出的元素?如果你能夠檢查彈出,那麼它將是正常頁面不Alert。

交叉檢查所使用的定位器,嘗試用所需的等待來顯示該確定按鈕,並且該按鈕位於任何框架內或不在(iframe)內。如果它在框架內,則在點擊前切換框架。工作完成後,切換回默認內容。

driver.switchTo().frame("provide frame name or location"); //switch to frame command 

    driver.switchTo().defaultContent(); //switch to default content command 

    //below is wait command 
    WebDriverWait wait=new WebDriverWait(driver, 120); 
    wait.until(ExpectedConditions.presenceOfElementLocated(By.id("id of ok"))); 

謝謝你, 穆拉利摹

+0

這是瀏覽器彈出式窗口,但我無法找到OK按鈕。當我錄製的腳本彈出的購買價款作爲 - \t​​assertAlert \t​​過程已被錯誤中斷。在Firefox瀏覽器 \t​​ – Rajith

+0

使用Firebug檢查是確定按鈕。如果你無法檢查,那麼它很警覺。根據錄音,它看起來像警報。但嘗試一次與螢火蟲 –

0

嘗試直接點擊就OK了..如果仍然沒有工作,然後檢查是否有任何框架存在..它必須除了瀏覽器彈出一個應用程序彈出..切換到提醒不會在這種情況下

希望它會幫助你:)

+0

直接點擊確定按鈕它正在工作。在錄製腳本時彈出窗口被識別爲 - >​​assertAlert​​進程因錯誤而中斷。​​ – Rajith

+0

你的意思是通過硒的記錄IDE –

+0

是的。我剛剛確認這個彈出窗口是使用selenium IDE進行錄製的web瀏覽器彈出窗口。 – Rajith

相關問題