我的情況是:如何從一個彈出切換到另一個彈出硒的webdriver
- 主窗口 - >做一些活動。
- 點擊保存按鈕 - >確認彈出打開與確定和取消按鈕。
- 單擊確定按鈕上的確認彈出 - >另一個成功彈出打開與確定按鈕。
- 點擊OK按鈕,彈出成功。
- 切換到主窗口。
PopUp以上是HTML彈出窗口。 我如何處理硒以上的情況?我是硒新人。請幫助我。我被困在上面。
代碼
String ParentWindow = driver.getWindowHandle(); //switching from parent to pop up window
for (String Child_Window : driver.getWindowHandles()) {
driver.switchTo().window(Child_Window);
WebDriverWait wait = new WebDriverWait(driver, 30);// 1 minute
wait.until(ExpectedConditions.visibilityOfElementLocated(By.name("test")));
driver.findElement(By.xpath("//input[@value='test']")).click();
}
driver.switchTo().window(ParentWindow);
HTML
<div>
<div class="msgBoxContainer">
<div id="msgBox1473308035532Image" class="msgBoxImage">
<img src="styles/images/confirm.png">
</div>
<div id="msgBox1473308035532Content" class="msgBoxContent">
<p>
<span>Saveでよろしいですか??</span>
</p>
</div>
</div>
<div id="msgBox1473308035532Buttons" class="msgBoxButtons">
<input id="msgBox1473308035532FirstButton" class="msgButton" type="button" value="はい" name="はい">
<input class="msgButton" type="button" value="いいえ" name="いいえ">
</div>
</div>
</div>
//當點擊第一個彈出的OK按鈕各自DIV是破壞以及如何產生新的div第二彈出
<div id="msgBox1473308225709" class="msgBox" style="background-image: url("styles/images/msgBoxBackGround.png"); opacity: 1; top: 52.5px; left: 566.5px;">
<div class="msgBoxTitle">Information</div>
<div>
<div class="msgBoxContainer">
<div id="msgBox1473308225709Image" class="msgBoxImage">
<img src="styles/images/info.png">
</div>
<div id="msgBox1473308225709Content" class="msgBoxContent">
<p>
<span>登録完了</span>
</p>
</div>
</div>
<div id="msgBox1473308225709Buttons" class="msgBoxButtons">
<input id="msgBox1473308225709FirstButton" class="msgButton" type="button" value="はい" name="はい">
</div>
</div>
</div>
我寫了下面的代碼從主窗口中切換到第一彈出,但無法從第一個彈出開關達到第二。 String ParentWindow = driver.getWindowHandle(); //從父窗口切換到彈出窗口 for(String Child_Window:driver.getWindowHandles()) driver.switchTo()。window(Child_Window); WebDriverWait wait = new WebDriverWait(driver,30); // 1分鐘 wait.until(ExpectedConditions.visibilityOfElementLocated(By.name(「test」))); driver.findElement(By.xpath(「// input [@ value ='test']」))。click(); } driver.switchTo()。window(ParentWindow); – Swa
你能分享這些彈出屏幕截圖嗎? –
正如我看到你的彈出屏幕截圖這是一個簡單的HTML對話框,你可以共享對話框HTML以及更好的解決方案,FYI無需切換窗口,因爲它不是一個窗口彈出.. –