如何使用 Selenium Webdriver 捕獲警報訊息中的文字?
藉助警報介面,我們可以在 Selenium webdriver 中捕獲警報訊息中的文字。預設情況下,webdriver 物件控制著主頁,一旦生成警報彈出視窗,我們就必須將 webdriver 焦點從主頁轉移到警報。
這是藉助 switchTo().alert() 方法來完成的。一旦驅動焦點轉移,我們就可以藉助於 switchTo().alert().getText() 方法獲取彈出視窗的文字。最後,我們將使用 accept 方法接受警報,並使用 dismiss 方法拒絕警報。
我們以以下警報為例,並獲取其訊息 −
語法
Alert a = driver.switchTo().alert(); String s= driver.switchTo().alert().getText(); a.accept();
示例
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import java.util.concurrent.TimeUnit; public class JsEnterText{ public static void main(String[] args) { System.setProperty("webdriver.gecko.driver", "C:\Users\ghs6kor\Desktop\Java\geckodriver.exe"); WebDriver driver = new FirefoxDriver(); //implicit wait driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); //URL launch driver.get("https://the-internet.herokuapp.com/javascript_alerts"); // identify element WebElement l = driver. findElement(By.xpath("//*[text()='Click for JS Alert']")); l.click(); //switch focus to alert Alert a = driver.switchTo().alert(); //get alert text String s= driver.switchTo().alert().getText(); System.out.println("Alert text is: " + s); //accepting alert a.accept(); driver.quit(); } }
輸出
廣告