点击链接后,Selenium不会检测到新窗口

时间:2011-09-19 01:25:08

标签: browser selenium selenium-rc webdriver

在我的selenium脚本中,我点击一个链接(在一个框架或生成的内容中,以便通过源搜索不返回它),这会将我发送到重定向的网站或是下载的快捷方式一个pdf。单击此链接时,pdf将显示在新窗口中。不幸的是,SeleniumRC无法检测新窗口,即使我使用“wait_for_pop_up”(我正在使用python btw,如果重要的话)。

WebDriver可以检测到新的窗口,所以为了解决这个问题,我一直在使用SeleniumRC和WebDriver的组合,但它是如此错误(WebDriver,因为我正在使用它,而不是组合),这是无法容忍的。我宁愿将SeleniumRC用于所有事情。

如何让SeleniumRC检测此窗口?

编辑:让我澄清一下这个问题:当我告诉它去获取窗口ID(在python中的window_handles)时,我想要的窗口甚至都没有出现,好像SeleniumRC不知道它存在。 WebDriver可以找到它并给它一个ID,所以我不知道这是怎么回事。

还有一个细节:带有pdf的新窗口有一个不同的(镜像)域名,这可能是个问题吗?

2 个答案:

答案 0 :(得分:1)

如何在selenium good tutorial中使用多个窗口有一个here。也许不是waitForPopup,你可以引入手动等待设定的时间(比如2秒),然后使用selectWindow选择新窗口。

答案 1 :(得分:0)

您可以通过再次使用selenium打开该窗口来控制新窗口。 即,在点击打开它的舔后手动获取新窗口的URL,然后使用selenium.open(“您的新窗口URL”);并继续该页面中的其余操作。