我遇到一种情况,我必须检查单击链接后是否打开了新选项卡。如果选项卡打开,我也想检查标题。
有人知道这件事吗。
您可以使用以下方法实现所需的等待,直到选项卡完全加载。
public static void switchTabs(WebDriver driver, int expectedWindowsCount,int SwitchtoWindow) throws Exception {
(new WebDriverWait(driver, 30)).until(ExpectedConditions.numberOfWindowsToBe(expectedWindowsCount));
ArrayList<String> tabs2 = new ArrayList<String>(driver.getWindowHandles());
driver.switchTo().window(tabs2.get(SwitchtoWindow));
}
该方法将检查有多少活动窗口处理程序可用,并等待所需的处理程序出现,然后切换到选项卡。
尝试切换到一个新的标签,然后验证它是否是正确的页面。
在Java中,它可以看起来像:
//get window handlers as list
List<String> browserTabs = new ArrayList<String> (driver.getWindowHandles());
//switch to new tab
driver.switchTo().window(browserTabs .get(1));
//check is it correct page opened or not (e.g. check page's title)
//...
//then close tab and get back
driver.close();
driver.switchTo().window(browserTabs.get(0))
这与C#相同;这是经过测试的,无论链接是在新选项卡中还是在新窗口中打开,它都会起作用。
var browserTabs = driver.WindowHandles;
driver.SwitchTo().Window(browserTabs[1]);
//check is it correct page opened or not (e.g. check page's title or url, etc.)
// ...
//close tab and get back
driver.Close();
driver.SwitchTo().Window(browserTabs[0]);
希望这能帮助任何遇到这个问题的人。
问题内容: 自从将近一个月以来,我一直在使用CasperJS测试框架来制作一些测试套件,但是其中之一面临着一个问题。 这是我要执行的操作:我正在浏览一个url(第1页),并且必须从另一个url(像在图形浏览器中那样模拟新选项卡)执行另一个操作,而不必退出第一个(第1页)。来自第二个URL的操作将更改我的第一个URL。希望它足够清楚:) 因此,现在,当我到达观察第一个URL的步骤时,我通过执行操作打
问题内容: 我正在处理HTML项目,但是我不知道如何在没有JavaScript的情况下在新标签页中打开链接。 我已经知道可以在同一选项卡中打开链接。有什么想法可以使其在新的环境中打开吗? 问题答案: 将链接的“目标”属性设置为: (注意:我之前建议这样做,而不是因为如果使用它,它将打开一个新选项卡,如果再次单击该链接,则会使用相同的选项卡。但是,这仅是因为正如GolezTrol所指出的那样,它指向
我正在做一个HTML项目,我无法找到如何在没有JavaScript的情况下打开新选项卡中的链接。 我已经知道在同一个选项卡中打开链接。有什么想法如何让它在一个新的开放?
问题内容: 下面的代码在同一页面的底部创建图像。如何将图像显示在新的标签/窗口中而不是显示在同一页面中? 问题答案: 就像是:
本文向大家介绍如何使用JavaScript在新标签页(而不是新窗口)中打开URL?,包括了如何使用JavaScript在新标签页(而不是新窗口)中打开URL?的使用技巧和注意事项,需要的朋友参考一下 在新选项卡中打开URL取决于浏览器和用户的浏览器首选项。您无法在代码中执行任何操作来强制严格在新选项卡中打开链接。 但是,如果您希望用户在新标签页或窗口中打开它(取决于他们的偏好),则可以将以下属性添
问题内容: 我想使用Javascript在其他标签中打开新页面,但仍将重点放在当前标签上。我知道我可以这样做: 但是,当我在chrome中执行此操作时,它会闪烁新标签一会儿,然后再切换回当前标签。我想避免这种情况。 该应用程序是个人书签,因此仅需在最新的Chrome中运行。 问题答案: 更新:谷歌浏览器的版本41 似乎已更改行为。 这可以通过在属性属性设置为所需的动态生成元素上模拟+ (或打开背景