java无法单击链接以清除巡更弹出窗口
我正试图点击“结束巡演”链接,以关闭一个活泼的弹出窗口,如所附的屏幕截图所示。我的目标是完全摆脱弹出窗口,因为它会阻止我在测试期间通过该屏幕
我尝试过使用cssSelector
、xpath
和linkText
,但似乎都不起作用。请参阅下面的HTML文件和下面显示的弹出元素的浏览器控制台:
<div class="popover-navigation">
<a data-role="prev" class="disabled" tabindex="-1">« Prev</a>
<span data-role="separator"> </span>
<a data-role="next">Next »</a>
<a data-role="end">End Tour</a>
</div>
# 1 楼答案
可能是您试图在加载框架元素之前访问它。因此,等待框架加载并找到元素并执行操作
您可以使用下面给出的显式等待
在这里更改frameID
# 2 楼答案
是的,我看到了您的问题,您可能使用了正确的选择器,但您试图查找的元素显然位于
iframe
(请参阅控制台中的关闭</iframe>
标记)。因此,基本上你的弹出窗口是在另一个窗口中打开的,并通过iframe显示在你当前的选项卡中您需要将驱动程序上下文^ ^ {CD3}}应用到您的iFrAME中(由于缺少{{< CD5>}标签属性),我将认为它具有^ {CD4>}。应该是这样的:
让我知道这对你是否有效。干杯
# 3 楼答案
这不是最好的方法,但你可以使用该代码跳过walk me弹出窗口
# 4 楼答案
每当文档对象模型(DOM)/HTML源中有
<iframe>
时,必须首先使用driver.switchTo().frame("NAME_OR_ID_OF_THE_IFRAME");
切换到它就你而言
切换到iframe后,您可以通过以下方式找到“End Tour”链接: