有动态windowId的Selenium waitForPopup?

时间:2010-06-16 06:22:25

标签: selenium

使用Selenium时,如果动态生成id,我怎么能等待弹出窗口? 例如:

selenium.click("link=mylink");
selenium.waitForPopUp("popup072815372337691199");

显然我无法在源代码中硬编码窗口ID。任何提示?

2 个答案:

答案 0 :(得分:2)

显然最好具有一致或完全可预测的窗口名称,但是如果不可能,则可以尝试使用getAllWindowNames命令等待窗口数量增加。如果窗口的名称在某种程度上是可预测的(如一致的前缀),那么在使用waitForPopupselectWindow之前,您可以找到新窗口的全名。

答案 1 :(得分:1)

这样做......

    'String href = selenium.getAttribute("link=myLink@herf");
     selenium.openWindow(href, "myWindow");
     selenium.selectWindow("myWindow");
     selenium.click(...);
     // do whatever
     selenium.selectWindow(null); // go back to the previous window'