【发布时间】:2018-03-01 17:34:01
【问题描述】:
我在 JMeter webdriver 采样器中自动执行了一些操作,在一个场景中我正在移动到新窗口,但我无法关闭新打开的窗口。
WDS.browser.close() 在那里不起作用。如何只关闭新窗口并与父母一起工作?
提前致谢。
【问题讨论】:
标签: selenium automation jmeter webdriver
我在 JMeter webdriver 采样器中自动执行了一些操作,在一个场景中我正在移动到新窗口,但我无法关闭新打开的窗口。
WDS.browser.close() 在那里不起作用。如何只关闭新窗口并与父母一起工作?
提前致谢。
【问题讨论】:
标签: selenium automation jmeter webdriver
你可以这样做:
var handles = WDS.browser.getWindowHandles()
var iterator = handles.iterator()
var currentHandle = WDS.browser.getWindowHandle()
while(iterator.hasNext()) {
var handle = iterator.next()
if (handle != currentHandle) {
WDS.browser.switchTo().window(handle)
WDS.browser.close()
}
}
WDS.browser.switchTo().defaultContent()
参考资料:
【讨论】:
我所做的(虽然在 python 中)是切换句柄,关闭当前窗口,然后切换回来。也许它可以为您的问题提供灵感:
def close_additional_tabs(self):
self.cfg.logger.info("[TEARDOWN] Close open tabs and switch to original frame.")
while len(self.webdriver.window_handles) > 1:
self.webdriver.switch_to_window(self.webdriver.window_handles[-1])
self.webdriver.close()
time.sleep(1)
self.webdriver.switch_to_window(self.webdriver.window_handles[-1])
这适用于标签,但也适用于窗口。
【讨论】: