对于我正在测试的门户,我遇到了一个问题,我无法创建任何xpath定位器,一段时间后,我发现这是因为一个'#document',这切断了路径,并使简单的“复制xpath”将路径定向到一个完全不同的元素。
<iframe id="FRAMENAME" src="/webclient/workspace/launch-task/REMbl?ds=BP" width="100%" height="100%" frameborder="0" data-navitemname="navitemname" style="" xpath="1">
#document
<html>
CODE....
</html>
我发现这个问题的解决方案是简单地添加一个switchTo,如下所示:
driver.switchTo().frame("FRAMENAME");
这将正常工作,并使其余代码正常工作,但在代码移动到下一行之前,需要花费一些额外的时间来处理此命令。
所以我想问,有没有更好的解决方案?更聪明/更快的东西?
我担心当我有很多脚本的时候,执行时间会太长。
例如,我不使用id定位器,因为它们都是动态的,所以有时需要xpath。
谢谢!
发布于 2018-11-12 16:57:03
要使用iframe
中的元素,必须切换到这个特定的iframe
。
您的解决方案.switchTo().frame("FRAMENAME");
是正确的。Selenium没有任何其他方法来处理iframe
包装器。
https://stackoverflow.com/questions/53203417
复制相似问题