为了账号安全,请及时绑定邮箱和手机立即绑定

错误:捕获到异常[错误:不支持的命令[selectFrame | 索引= 1 | ]]

错误:捕获到异常[错误:不支持的命令[selectFrame | 索引= 1 | ]]

慕标琳琳 2021-05-01 10:09:43
导出代码: public void testUntitledTestCase() throws Exception {    driver.get("URL");    driver.findElement(By.xpath("//button[@id='add-items']")).click();    driver.findElement(By.id("item_title")).sendKeys("Automation");    driver.findElement(By.id("item_cat_id")).click();    // ERROR: Caught exception [ERROR: Unsupported command [selectFrame | index=1 | ]]    driver.findElement(By.linkText("Cat1")).click();    // ERROR: Caught exception [ERROR: Unsupported command [selectFrame | relative=parent | ]]    driver.findElement(By.xpath("//button[@id='item-save']"").click();  }错误发生在Iframe打开的位置。该应用程序具有其中某些字段具有按钮的形式-单击这些其他视图时,将在弹出式窗口(Iframe)中打开该视图。我需要从iframe中选择元素。它抛出一个错误:// ERROR: Caught exception [ERROR: Unsupported command [selectFrame | index=1 | ]].// ERROR: Caught exception [ERROR: Unsupported command [selectFrame | relative=parent | ]]
查看完整描述

2 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

您确定它是iFrame吗?

如果是这样,请尝试获取iFrame“名称”。将帮助您专注于正确的iframe /窗口/标签。

希望能帮到你 :)

列出ele = driver.findElements(By.tagName(“ iframe”)); System.out.println(“页面中的帧数:” + ele.size());

for(WebElement el:ele){//返回帧的ID。

  System.out.println("Frame Id :" + el.getAttribute("id"));

      //Returns the Name of a frame.


        System.out.println("Frame name :" + el.getAttribute("name"));

    }



查看完整回答
反对 回复 2021-05-12
?
慕森卡

TA贡献1806条经验 获得超8个赞

如果不是框架而是弹出窗口或窗口,请尝试以下操作:


字符串parentWindowHandler = driver.getWindowHandle(); //存储您的父窗口String childWindowHandler = null;


    Set<String> handles = driver.getWindowHandles(); // get all window handles

    Iterator<String> iterator = handles.iterator();

    while (iterator.hasNext()){

        childWindowHandler = iterator.next();

    }

    driver.switchTo().window(childWindowHandler); // switch to popup window



    // perform operations on popup


    try {

        assertTrue(isElementPresent(By.xpath("//div[@id='mainDocumentContainer']/div/div[2]/div/div/div[2]/div/table/tbody/tr/td")));

      } catch (Error e) {

        verificationErrors.append(e.toString());

      }

      try {

        assertEquals("Numéro d'opération :   Epicure 1", driver.findElement(By.xpath("//div[@id='mainDocumentContainer']/div/div[2]/div/div/div[2]/div/table/tbody/tr[2]/td")).getText());

      } catch (Error e) {

        verificationErrors.append(e.toString());



   //Back to main window   


    driver.switchTo().window(parentWindowHandler);


查看完整回答
反对 回复 2021-05-12
  • 2 回答
  • 0 关注
  • 369 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信