我想在多个窗口之间切换,并在每个窗口上执行操作。窗口类型类似于父窗口>>子窗口>>大子窗口>>大子窗口。我有一个处理多个窗口的通用代码,但我不能理解如何调用该函数。我需要帮助。
你能解释一下我应该如何调用这个下面的函数,以及firstWindow和SecondWindow中的参数是什么吗。
下面是代码。
//To Handle Multiple Windows or Switch Between Multiple Windows.
public void switchWindow(WebDriver driver, String firstWindow, String secondWindow)
{
Set<String> windowHandles = driver.getWindowHandles();
for(String windows : windowHandles)
{
if(!windows.equals(firstWindow) && !windows.equals(secondWindow))
{
driver.switchTo().window(windows);
}
}
}
我想这种方法可以帮助您在窗口之间切换
public void switchToNextTab() {
ArrayList<String> tab = new ArrayList<>(driver.getWindowHandles());
driver.switchTo().window(tab.get(1));
}
public void closeAndSwitchToNextTab() {
driver.close();
ArrayList<String> tab = new ArrayList<>(driver.getWindowHandles());
driver.switchTo().window(tab.get(1));
}
public void switchToPreviousTab() {
ArrayList<String> tab = new ArrayList<>(driver.getWindowHandles());
driver.switchTo().window(tab.get(0));
}
public void closeTabAndReturn() {
driver.close();
ArrayList<String> tab = new ArrayList<>(driver.getWindowHandles());
driver.switchTo().window(tab.get(0));
}
public void switchToPreviousTabAndClose() {
ArrayList<String> tab = new ArrayList<>(driver.getWindowHandles());
driver.switchTo().window(tab.get(1));
driver.close();
}
例如,如果您打开了4个窗口,并且需要切换到下一个窗口并执行某些操作,那么您的代码应该如下所示:
//first window perform actions...
switchToNextTab();
//second window perform actions...
closeAndSwitchToNextTab();
//third window perform actions...
closeAndSwitchToNextTab();
//fourth window perform actions...
我无法在窗口之间切换。打开弹出窗口时光标被击中。无法再前进了。测试案例:打开URL:http://voltaerp.cloudapp.net/VomsDemoV2/点击查询选项卡,然后点击子菜单项“国外查询”。这将把用户重定向到国外查询页面。现在单击绿色加号从弹出菜单中选择一个项目。我到现在都很好。一旦窗口打开,代码就会被卡住。无法读取弹出窗口的ID或将驱动程序切换到弹出窗口,以便我可以选择任何项
在internet explorer中使用selenium,我打开了一个包含javascript代码的新窗口: 当我尝试移动到新窗口时,selenium不会检测到该窗口。打印驱动程序打开的窗口数时,我只得到1: 我的问题:是否可以管理从javascript打开的新窗口? 谢谢你。
问题内容: 我遇到的一种情况是,单击链接网页会打开一个弹出窗口。并且在弹出窗口打开之后,焦点位于弹出窗口中,并且主窗口被禁用。而且我无法将控件转移到弹出窗口。请看下面的代码。 我无法将控件从父窗口转移到弹出窗口。我知道以下命令。 但是它没有太大帮助。请帮我。 问题答案: 当我需要使用以下弹出窗口,关闭它并返回主窗口时,这是我使用的代码。当然,出于此答案的目的已对其进行了简化。它维护原始窗口(主窗口
问题内容: 我不确定seleniumwebdriver是否可以处理Javascript警报/弹出窗口。 我有一个类似的场景: 1.用户上传一个xls文件,然后单击“上传”按钮 2.将显示“警报/弹出窗口”。在窗口上单击“确定” 能够自动执行上述方案,但是在运行脚本时会显示“警报/弹出”窗口。 无论如何,他们可以解决JavaScript警报/弹出窗口的解决方法吗? 问题答案: 您也可以尝试 等待警报
第四,切换到第二个窗口,点击金融链接。 以下代码适用于我: 但是当我尝试将顺序更改为任务时: 但是如果我在切换到雅虎选项卡后刷新页面,这只在Chrome驱动程序中工作,而不是在Firefox驱动程序中。
我们使用Spring Batch进行一些处理,通过Reader读取一些ID,我们希望通过处理器将它们处理为“块”,然后写入多个文件。但是处理器接口一次只允许处理一个项目,我们需要进行批量处理,因为处理器依赖于第三方,不能为每个项目调用服务。 我看到我们可以为“块”中涉及的所有读取器-处理器-写入器创建包装器,以处理列表<>并委托给一些具体的读取器/处理器/写入器。但这对我来说并不是件好事。像这样: