我的情况是:如何从一个弹出切换到另一个弹出硒的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无需切换窗口,因为它不是一个窗口弹出.. –