如何将控件从一个浏览器切换到另一个浏览器,以便在VBScript中自动化应用程序?

时间:2014-04-14 16:20:52

标签: internet-explorer vbscript browser-automation

我正在自动化一个正在打开另一个模型弹出浏览器的Web应用程序。但控件仍然在第一个浏览器中。我想将控件切换到最近打开的弹出窗口。请告诉我如何通过使用Vb脚本来完成它?

1 个答案:

答案 0 :(得分:0)

在vbscript中你可以简单地把

response.write("<script>window.showModalDialog('showWindow.asp?param=1&paramba=2&etc...',labelToClick.labelValue);</script>") 

只需要确保在页面加载时它会被重新加载。 或者您可以像这样使用JS openModal窗口

function openModalWindowWithAllText(){
window.showModalDialog("showWindow.asp?param=1&paramba=2&etc...",labelToClick.labelValue);
}

并在body onload上调用它。

问题是某些浏览器制造商已经声明showModalDialog已经过折旧。

另一方面,你可以使用showModelessDialog,它不是折旧和主要区别,你可以在它和父窗口之间来回移动焦点,直到它停留在父窗口的顶部,直到弹出窗口关闭。

最好的方法,如果你要使用模态窗口,将使用AJAX,第三个选项是一个简单的JS函数setFocus 像这样:

function SetFocus(fieldId)
{
document.getElementById(fieldId).focus();
} 

并在“body onload ='SetFocus(Fieldsid);'”新事件的事件上调用此函数。据我所知,所有浏览器都支持此功能。 Fieldsid可以是新页面上的任何内容,也可以是现有元素的硬编码id,可以指向焦点,如文本字段,下拉列表等。

但是,如果本地计算机(或网络)上的用户有阻止弹出窗口的策略,则唯一的选择是模式窗口。