我有一個應用程序,我嘗試單擊一個按鈕,並作爲回報,它將彈出一個窗口以填充新的用戶表單。這不像一個彈出窗口,因爲它有一些輸入字段以及「保存」和「取消」按鈕。它看起來類似於Facebook中的彈出式窗口。無法切換到彈出窗口,並使用Java在Webdriver中彈出窗口中找到任何元素
下面的代碼我試圖與
Set beforePopup = driver.getWindowHandles();
driver.findElement(By.xpath("/html/body/div/div/div/div[3]/div/div[2]/div[2]/table/tbody/tr/td[3]/table/tbody/tr/td[2]/em/button")).click();
driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS);
Set afterPopup = driver.getWindowHandles();
afterPopup.removeAll(beforePopup);
if(afterPopup.size() == 1) {
driver.switchTo().window((String)afterPopup.toArray()[0]);
}
//driver.switchTo().window("Add New User");
//selenium.type("userDetailsBean.firstName","alan1");
//WebElement btnStartQueryInside = driver.findElement(By.xpath("//html/body/div[14]/div/div/div/div/span"));
//btnStartQueryInside.getText();
System.out.println(driver.getTitle());
WebElement firstName = driver.findElement(By.xpath("/html/body/div[2]/div/div/div/div/div/form/div/div/input"));
firstName.sendKeys("alan1");
//driver.switchTo().alert();
//driver.findElement(By.xpath("//html/body/div[14]/div/div/div/div")).getText();
//WebElement firstName=driver.findElement(By.xpath("/html/body/div[2]/div/div/div/div/div/form/div/div/input"));
//firstName.sendKeys("alan1");
/*WebElement lastName=driver.findElement(By.id("userDetailsBean.lastName"));
lastName.sendKeys("harper");
WebElement emailadd=driver.findElement(By.id("userDetailsBean.userEmail"));
emailadd.sendKeys("[email protected]");
WebElement username=driver.findElement(By.id("userDetailsBean.userName"));
username.sendKeys("xalan1");
WebElement password=driver.findElement(By.id("adminPassword"));
password.sendKeys("Derik123");
WebElement repassword=driver.findElement(By.id("adminPassword2"));
repassword.sendKeys("Derik123");
driver.findElement(By.xpath("//html/body/div[2]/div/div/div/div/div[2]/div/div/table/tbody/tr/td/table/tbody/tr/td[2]/em/button")).click();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);*/
請注意,在代碼中我評論一些輸入字段填充,因爲我覺得首先我將使它的工作只是1場。請幫助我如何繼續。
問題出在點擊彈出按鈕後,我不確定控件是否切換到彈出窗口。彈出後的gettitle會給出主窗口標題。並且無法使用xpath或id找到第一個輸入字段。
那麼問題是什麼? – dratewka
我編輯了添加問題的問題。 – mac
您不需要切換到圖像中彈出的消息彈出窗口。直接與它交互。 – Amey