всплывающее окно браузера не закрывается в селене - PullRequest
0 голосов
/ 26 сентября 2018

После запуска URL-адреса появляется всплывающее сообщение, которое я пытаюсь закрыть.я написал xpath и смог найти значок закрытия с этим.но когда я пытаюсь выполнить это не закрывается.Затем я добавил неявно ждать, пока элемент будет видимым, а затем пытается закрыть.все еще это не закрытие.Подскажите, пожалуйста, каковы причины таких случаев и как их можно решить.и кнопка Отправить также не нажимает. Я указал правильный xpath.

Заранее спасибо.

ниже приведен фрагмент кода.

public static void main(String[] args) {            
        WebDriver driver;
        System.setProperty("webdriver.chrome.driver", "E:\\Softwares\\Chromedriver.exe");
        driver = new ChromeDriver();
        driver.get("https://html.com/input-type-file/");
        driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);    
        WebElement closeButon = driver.findElement(By.xpath("//a[@class='om-close miami-element-close miami-close']"));     

        if(closeButon.isDisplayed())
        {
            System.out.println("close Buton is there.. ");
            closeButon.click();
            System.out.println("close Buton closed ");
        }
        driver.findElement(By.xpath("//input[@name='fileupload']")).sendKeys("E:\\Users\\laxman_p\\Desktop\\PromoFeature.txt");
        //Submit button

driver.findElement (By.xpath ("// * [@ id = 'post-206'] / div / div [3] / form / input [2]")). Click ();
}

1 Ответ

0 голосов
/ 26 сентября 2018

Если вы не можете закрыть его по xpath, я думаю, что эта проблема может быть связана с сфокусированным окном. Вам нужно использовать методы getWindowHandle и switchTo, чтобы сфокусировать это всплывающее окно.После этого вы сможете выполнить процесс в этом всплывающем окне.

 driver.getWindowHandles() 

возвращает набор окон.

 driver.switchTo.window(windowId);

переключит вас на окно, на котором вы хотите сфокусироваться.

...