Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java在Lenium webdriver中切换到Jquery弹出窗口_Java_Jquery_Selenium_Webdriver - Fatal编程技术网

如何使用java在Lenium webdriver中切换到Jquery弹出窗口

如何使用java在Lenium webdriver中切换到Jquery弹出窗口,java,jquery,selenium,webdriver,Java,Jquery,Selenium,Webdriver,我正面临一个jquery弹出窗口..我尝试使用以下代码来找出是否有弹出窗口,但输出显示没有弹出窗口。但我可以看到一个。。我无法切换到弹出窗口并执行操作。请任何人提出建议 public static boolean runScript(){ JavascriptExecutor js = (JavascriptExecutor) driver; return (Boolean) js.executeScript("return jQuery.active==0;"

我正面临一个jquery弹出窗口..我尝试使用以下代码来找出是否有弹出窗口,但输出显示没有弹出窗口。但我可以看到一个。。我无法切换到弹出窗口并执行操作。请任何人提出建议

public static boolean runScript(){
        JavascriptExecutor js = (JavascriptExecutor) driver;
        return  (Boolean) js.executeScript("return jQuery.active==0;");
        }


    public static void FocusOnWindow() throws Exception{
        int i=0;
        do {
            if(!runScript()){
                System.out.println("Popup exists");
                i++;
            }else{
                i=5000;
                System.out.println("Popup does not exists");
            }
        }while(i<5000);
    }
试试这个:

Alert alert = driver.switchTo().alert();
alert.accept();

对于jqueryalert,它将起作用

public void testJQueryAlertHandling() {

        WebDriverWait jQueryWait = new WebDriverWait(driver, 2);
        try{
            jQueryWait.until(ExpectedConditions.presenceOfElementLocated(By.id("popup_container")));
             WebElement popup = driver.findElement(By.id("popup_container"));
             WebElement message = popup.findElement(By.id("popup_message"));
             assertEquals("Alert Message", message.getText());
             popup.findElement(By.id("popup_ok")).click();  
             System.out.println("Alert  Present");
        }
        catch (Exception e){
             System.out.println("No alert  Present");
        }        
     }
public void testJQueryAlertHandling() {

        WebDriverWait jQueryWait = new WebDriverWait(driver, 2);
        try{
            jQueryWait.until(ExpectedConditions.presenceOfElementLocated(By.id("popup_container")));
             WebElement popup = driver.findElement(By.id("popup_container"));
             WebElement message = popup.findElement(By.id("popup_message"));
             assertEquals("Alert Message", message.getText());
             popup.findElement(By.id("popup_ok")).click();  
             System.out.println("Alert  Present");
        }
        catch (Exception e){
             System.out.println("No alert  Present");
        }        
     }