51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3262|回复: 4
打印 上一主题 下一主题

selenium 关于多窗口问题求助!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-5-25 12:46:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
情景:浏览器打开2个窗口,把焦点移动到第2个窗口,在第2个窗口操作完后,把焦点移动到第一个窗口同时关闭第2个窗口。
怎么实现:把焦点移动到第一个窗口同时关闭第2个窗口
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2012-5-25 13:05:35 | 只看该作者
webElement = driver.FindElement(By.XPath("/html/body/div[2]/div/div/div/div/div/div/div[2]/span/ul/li[" + i + "]/dl/dt/a"));
    webElement.Click();//弹出另外一个页面
ReadOnlyCollection<string> handles = driver.WindowHandles;//获取当前打开的窗口数
                driver.SwitchTo().Window(handles[1]);//把焦点定位到第2个窗口
wait.Until(dr2 => dr2.FindElement(By.CssSelector("a.d1")));
                    webElement = driver.FindElement(By.CssSelector("a.d1"));
现在我在第2个窗口找到了找到了这个元素后,要关闭这个窗口,返回第一个页面进行操作。怎么实现?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2012-5-28 16:07:48 | 只看该作者
本帖最后由 WANDY 于 2012-5-28 16:09 编辑

driver.close()  ##可以关闭当前窗口。注意是当前
然后,使用Switchto().window 移动driver到第一个窗体。
driver.SwitchTo().Window(handles[0]);  ##??? 这里不确定是0具体的请自行测试。

Python的代码:
  1.         ##Click open new Browser Window
  2.         browser.switch_to_window(browser.window_handles[-1])
  3.         ## browser 移动至list   browser.window_handles  的最后一个元素
  4.         ## 新的browser往往在后面添加,所以,最后一个即最新Browser.
  5.         browser.close()
  6.         ## 执行Close()指令
  7.         browser.switch_to_window(browser.window_handles[-1])
  8.         ## browser 移动至最后一个, 因为最新的窗体已经关闭,所以browser移动的是之前已经打开的窗体。
复制代码
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2012-6-15 15:51:21 | 只看该作者
如果你是在一个主页面上点击弹出一个页面 在弹出页面操作完之后返回到主页面的话 可以试试
driver.switchTo().window(driver.getWindowHandle());
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2012-6-15 15:51:27 | 只看该作者
如果你是在一个主页面上点击弹出一个页面 在弹出页面操作完之后返回到主页面的话 可以试试
driver.switchTo().window(driver.getWindowHandle());
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-23 15:29 , Processed in 0.077118 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表