51Testing软件测试论坛
标题:
selenium 关于多窗口问题求助!
[打印本页]
作者:
raowm520
时间:
2012-5-25 12:46
标题:
selenium 关于多窗口问题求助!
情景:浏览器打开2个窗口,把焦点移动到第2个窗口,在第2个窗口操作完后,把焦点移动到第一个窗口同时关闭第2个窗口。
怎么实现:把焦点移动到第一个窗口同时关闭第2个窗口
作者:
raowm520
时间:
2012-5-25 13:05
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个窗口找到了找到了这个元素后,要关闭这个窗口,返回第一个页面进行操作。怎么实现?
作者:
WANDY
时间:
2012-5-28 16:07
本帖最后由 WANDY 于 2012-5-28 16:09 编辑
driver.close() ##可以关闭
当前
窗口。注意是当前
然后,使用Switchto().window 移动driver到第一个窗体。
driver.SwitchTo().Window(handles[0]); ##??? 这里不确定是0具体的请自行测试。
Python的代码:
##Click open new Browser Window
browser.switch_to_window(browser.window_handles[-1])
## browser 移动至list browser.window_handles 的最后一个元素
## 新的browser往往在后面添加,所以,最后一个即最新Browser.
browser.close()
## 执行Close()指令
browser.switch_to_window(browser.window_handles[-1])
## browser 移动至最后一个, 因为最新的窗体已经关闭,所以browser移动的是之前已经打开的窗体。
复制代码
作者:
arcikisom
时间:
2012-6-15 15:51
如果你是在一个主页面上点击弹出一个页面 在弹出页面操作完之后返回到主页面的话 可以试试
driver.switchTo().window(driver.getWindowHandle());
作者:
arcikisom
时间:
2012-6-15 15:51
如果你是在一个主页面上点击弹出一个页面 在弹出页面操作完之后返回到主页面的话 可以试试
driver.switchTo().window(driver.getWindowHandle());
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2