当前位置: 首页 > 知识库问答 >
问题:

硒网络驱动程序|驱动程序(). SwitchTo(). defaultContent()方法没有将控件从多个子窗口切换回父窗口

毛镜
2023-03-14

Selenium webdriver |driver()。切换到()。defaultContent()方法不会将控件从多个子窗口切换回父窗口。

我面临的问题是没有窗户,没有框架。当我点击父窗口上的一个按钮,比如wp,一个新的web窗口,比如w1正在生成,最终又生成了一个窗口,比如w2,我想切换到控制到wp,所以我使用

driver.switchTo.defaultContent()

但它没有将控件切换到父窗口。


共有3个答案

冯泓
2023-03-14
匿名用户

切换到父帧时可以使用两种类似的方法,但它们之间略有不同。

<代码>驱动程序。切换到()。defaultContent()驱动程序。切换到()。parentFrame()

E、 g.:当你使用驱动程序时,你有三个帧i1,i2,i3,你在帧i3上。切换到。defaultContent(),它将把您带到i1,而使用驱动程序。切换到。parentFrame()控件将切换到i2,即立即父帧(当前帧的父帧)。

谭思博
2023-03-14

您是否正在寻找切换到窗口选项卡或iframe?

对于框架:我们需要这样做,

driver.switchTo().defaultContent();
driver.switchTo.parentFrame();

对于窗口:

String parentwindow = driver.getWindowHandle();
List<String> allwindows = new ArrayList<>(driver.getWindowHandles());
driver.switchTo().window(allwindows.get(1));
driver.switchTo().window(parentwindow);
孟茂
2023-03-14

我有这个问题要解决。我找到答案试试这个,并给我反馈-也许我可以帮助你

 const number1 = await driver.wait(until.elementLocated(By.xpath('your xpath')))
      await driver.executeScript("arguments[0].click()", number1).then(() =>{
        console.log(driver.executeScript, 'Click done');
      })
 类似资料:
  • 如何等待硒Web驱动程序中的子窗口 当我点击提交按钮,它会把我带到子窗口,我断言URL,但有时子窗口需要时间来目前使用thread.sleep(4000),但这是错误的方式。

  • 我在一个场景中执行以下步骤: 打开浏览器-->导航到并单击打开新窗口的链接 使用-->在子窗口上执行操作。 关闭子窗口。 切换回父窗口。 获取当前窗口的标题。 步骤1到3工作很好。但是步骤4抛出了一个异常。为了更清楚,我在抛出异常之前包含了日志消息。n 我们正在使用一个基于flashSelenium的特殊框架,这里的开发人员已经成功地将flash Selenium与WebDriver集成在一起(最

  • 根据Selenium WebDriver文档,我们可以将名称或句柄传递给driver.switchTo().window(nameOrHandle);为了获取句柄,我们有getWindowHandle。如何根据窗口名称打开新窗口?如何获取当前窗口名称? / ***将此驱动程序未来命令的焦点切换到具有给定名称/句柄的窗口。* *有关详细信息,请参阅W3C WebDriver规范*。**@param

  • 我正在尝试切换选项卡并通过导航到url进行操作'http://toolsqa.com/'然后转到演示站点-- 使用的不同代码: 代码1: 代码2: 代码3: 以上是我用来切换标签的方法,但是还没有成功。请在这方面帮助我。

  • 我无法使用Selenium在此弹出消息上写入。在这种情况下,请随时帮助我。我的密码是:- driver.findElement(by.xpath(“html/body/div[2]/header/div/nav/div/a”)).click(); 错误:-线程“main”org.openqa.selenium.NosuChelementException中出现异常:找不到元素:*[name='mo