伙计们,请指导我解决问题。
我可以访问位于iframe
的{{1}}内的所有字段,我想要关闭div
,但我无法访问(X)按钮。
关闭按钮位于iframe
之内,iframe
之内。
这是我的代码:
从主窗口切换到div
:
iframe
访问BaseClassOne.driver.switchTo().frame(BaseClassOne.driver.findElement(By.xpath("//*[@id='Dealership quote Internal']/iframe")));
元素:
iframe
我尝试下面提到的代码来关闭模态弹出窗口:
BaseClassOne.driver.findElement(By.xpath("//*@id='txtDealershipRef']")).sendKeys("XYZ090123");
请指导我。
提前致谢。
答案 0 :(得分:0)
代码序列似乎存在问题。考虑到iframe中不包含关闭链接,您必须先切换到默认内容,然后在继续之前单击关闭。请尝试以下代码:
//Switch to frame and perform actions
BaseClassOne.driver.switchTo().frame(BaseClassOne.driver.findElement(By.xpath("//*[@id='Dealership quote Internal']/iframe")));
BaseClassOne.driver.findElement(By.xpath("//*@id='txtDealershipRef']")).sendKeys("XYZ090123");
//switch to default content (to access elements outside the frame)
BaseClassOne.driver.switchTo().defaultContent();
//click on close
BaseClassOne.driver.findElement(By.xpath("//a[@class='close-window']")).click();
注意:关闭按钮的标识符已在此处的代码中更改为使用HTML中的属性,因为By.tagName("a")
这是问题中代码的一部分,可能有许多匹配的节点,这些节点更高在HTML层次结构中。
答案 1 :(得分:0)
根据上述评论和讨论,我觉得你必须切换回默认框架,然后尝试点击关闭按钮。
driver.switchTo()defaultContent();