我正在編寫一個TestNg
腳本,我想關閉模式框並在瀏覽器上執行操作。我能夠關閉模式 ,但無法在瀏覽器上執行任何操作。關閉模式框後如何在瀏覽器上執行操作
driver.findElement(By.id("username")).clear();
driver.findElement(By.id("username")).sendKeys(userName1);
driver.findElement(By.id("password")).clear();
driver.findElement(By.id("password")).sendKeys(password1);
driver.findElement(By.id("Login")).click();
Thread.sleep(5000);
switchtoLightining();
driver.findElement(By.linkText("App Launcher")).click();
driver.findElement(By.linkText("ICIX")).click();
driver.findElement(By.linkText("Document Library")).click();
driver.switchTo().frame(driver.findElement(By.id("vfFrameId")));
driver.findElement(By.id("btn_AddDocument")).click();
new Select(driver.findElement(By.id("ddTemplate")))
.selectByVisibleText("GFSI Certification");
driver.findElement(By.id("createButton")).click();
// Get the current window handle
String winHandleBefore = driver.getWindowHandle();
Thread.sleep(5000);
// Get the list of window handles
ArrayList<String> tabs2 = new ArrayList<String>(
driver.getWindowHandles());
System.out.println("size is:" + tabs2.size());
driver.switchTo().window(tabs2.get(0));
Robot rb = new Robot();
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_TAB);
Thread.sleep(2000);
rb.keyPress(KeyEvent.VK_ENTER);
Thread.sleep(2000);
// Click on the upload button
// Switch to the parent old window
driver.switchTo().window(winHandleBefore);
Thread.sleep(2000);
driver.findElement(By.xpath("//button[@class='slds-button slds-button--brand slds-m-horizontal--small']")).click();*/
driver.findElement(By.xpath(".//[@id='uploadButton']")).click();
什麼錯誤味精你得到 –
我得到這個錯誤 - org.openqa.selenium.NoSuchElementException:找不到元素:{「方法」:「的XPath」,「選擇「:」.//*[@ id ='uploadButton']「} 命令持續時間或超時時間:25.13秒 – user3168935
嗨,我很困惑你的代碼//獲取當前窗口句柄 String winHandleBefore = driver.getWindowHandle() ;在這裏,你正在使用父窗口句柄,然後你切換到driver.switchTo()。window(tabs2.get(0)); //但是0索引再次用於父窗口因此事實上你並沒有切換任何窗口 –