在selenium-browerbot.js文件中,selenium对window.open()进行了重载,我把重载函数重写了一下,问题就OK了,
如下:
var newOpen = function(url, windowName, windowFeatures, replaceFlag) {
// var myOriginalOpen = originalOpen;
//var myOriginalOpen = window.open;
if (isHTA) {
// myOriginalOpen = this[originalOpenReference];
}
if( !windowFeatures )
{
windowFeatures = null;
}
if( !replaceFlag )
{
replaceFlag = null;
}
var openedWindow = null;
if( !windowFeatures && !replaceFlag )
{
openedWindow = this.window.open(url, windowName);
}
else
{
openedWindow = this.window.open(url, windowName, windowFeatures, replaceFlag);
}
LOG.debug("window.open call intercepted; window ID (which you can use with selectWindow()) is \"" + windowName + "\"");
if (windowName!=null) {
openedWindow["seleniumWindowName"] = windowName;
}
if(openedWindow != null)
{
selenium.browserbot.openedWindows[windowName] = openedWindow;
return openedWindow;
}
return null;
};
如下:
var newOpen = function(url, windowName, windowFeatures, replaceFlag) {
// var myOriginalOpen = originalOpen;
//var myOriginalOpen = window.open;
if (isHTA) {
// myOriginalOpen = this[originalOpenReference];
}
if( !windowFeatures )
{
windowFeatures = null;
}
if( !replaceFlag )
{
replaceFlag = null;
}
var openedWindow = null;
if( !windowFeatures && !replaceFlag )
{
openedWindow = this.window.open(url, windowName);
}
else
{
openedWindow = this.window.open(url, windowName, windowFeatures, replaceFlag);
}
LOG.debug("window.open call intercepted; window ID (which you can use with selectWindow()) is \"" + windowName + "\"");
if (windowName!=null) {
openedWindow["seleniumWindowName"] = windowName;
}
if(openedWindow != null)
{
selenium.browserbot.openedWindows[windowName] = openedWindow;
return openedWindow;
}
return null;
};