我最近一直在与Selenium一起玩,试图为仅IE应用程序创建测试。事情进展顺利(尽管没有记录器插件,我不得不慢慢尝试才能找到合适的元素路径,但是进展缓慢),但是现在我遇到了与弹出菜单有关的问题。

大多数应用程序操作都是通过使用javascript window.createPopup()创建的弹出菜单触发的,我似乎找不到一种将事件发送到弹出窗口中的元素的方法。

也许我应该像使用window.open(...)打开的窗口那样选择弹出窗口,顺便说一句。我尝试为createPopup()返回的弹出菜单分配一个名称,并以与对待Windows相同的方式对其进行处理,但这似乎不起作用。

有人知道这是否行得通吗?任何帮助将不胜感激。

谢谢,

最佳答案

抱歉不行。 Selenium无法访问window.createPopup。作为IE的唯一功能,它的可移植性确实有限,通常不是最佳实践。我知道这对您来说无济于事,因为我假设您被使用createPopup的其他人的代码所困扰。

真正的问题是craeatePopup不会向DOM添加任何内容。尝试打开一个弹出对象并查看其源。您会看到以下内容:

<html><body></body></html>


因此,Selenium确实没有什么可抓住的。

弹出窗口对您的应用程序有什么作用?您表示它提供了一些导航,您可以直接导航到那些页面吗?

关于javascript - IE和Selenium:window.createPopup(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3831232/

10-13 05:26