Selenium Web驱动程序:使用Java处理确认框

嗨,我使用以下代码来处理警告框,点击一个动作,但它不工作
有人可以帮忙

这是我称之为处理程序的地方. clickOnAlert()之后clickOnAddQuote()被叫做alert框出现.

System.out.println("before add to quote");
this.clickOnAddQuote();
System.out.println("before alert");
this.clickOnAlert();
System.out.println("after alert");

功能clickOnAlert()

public void clickOnAlert() {
        System.out.println("In click");
        Alert alert = webdriverSession().switchTo().alert();
        System.out.println("after constructor");
        alert.accept();
    }

请帮忙.
谢谢

解决方法

使用selenium webDriver处理不同的对话框:
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class JavaScriptAlertTest {

public static void main(String[] args) {

    WebDriver myTestDriver = new FirefoxDriver();
    myTestDriver.get("...blablabla....");

    myTestDriver.manage().window().maximize();

    myTestDriver.findElement(By.xpath("//input[@value = 'alert']")).click();

    Alert javascriptAlert = myTestDriver.switchTo().alert();
    System.out.println(javascriptAlert.getText()); // Get text on alert Box
    javascriptAlert.accept();

    System.out.println("*************prompt******************************************");

    myTestDriver.findElement(By.xpath("//input[@value = 'prompt']")).click();

    Alert javascriptprompt = myTestDriver.switchTo().alert();
    javascriptprompt.sendKeys("This is Selenium Training");

    System.out.println(javascriptprompt.getText()); // Get text on alert Box

    javascriptprompt.accept();
    javascriptprompt = myTestDriver.switchTo().alert();

    System.out.println(javascriptprompt.getText()); // Get text on alert Box
    javascriptprompt.accept();

    myTestDriver.findElement(By.xpath("//input[@value = 'prompt']")).click();

    javascriptprompt = myTestDriver.switchTo().alert();

    System.out.println(javascriptprompt.getText()); // Get text on alert Box

    javascriptprompt.dismiss();
    javascriptprompt = myTestDriver.switchTo().alert();

    System.out.println(javascriptprompt.getText()); // Get text on alert Box
    javascriptprompt.accept();

    System.out.println("***********************************confirm dialog Box****************************");
    myTestDriver.findElement(By.xpath("//input[@value = 'confirm']")).click();

    Alert javascriptconfirm = myTestDriver.switchTo().alert();
    javascriptconfirm.accept();

    javascriptconfirm = myTestDriver.switchTo().alert();
    System.out.println(javascriptconfirm.getText()); // Get text on alert Box
    javascriptconfirm.accept();

    myTestDriver.findElement(By.xpath("//input[@value = 'confirm']")).click();
    javascriptconfirm = myTestDriver.switchTo().alert();

    javascriptconfirm.dismiss();
    javascriptconfirm = myTestDriver.switchTo().alert();
    System.out.println(javascriptconfirm.getText()); // Get text on alert Box
    javascriptconfirm.accept();

}
}

希望它可以帮助你:)

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些