VBScript和JScript似乎以不同的方式处理element.click方法。为什么?

时间:2010-04-02 14:24:24

标签: dom scripting vbscript javascript

人。这是VBScript中的另一个示例脚本。它打开Internet Explorer,导航到谷歌,设置搜索字段并提交查询。

set ie = CreateObject("InternetExplorer.Application")

ie.navigate("www.google.com")

ie.visible = true

while ie.readystate <> 4
    wscript.sleep 100
WEnd

set fields = ie.document.getelementsbyname("q")
set buttons = ie.document.getelementsbyname("btnG")

fields(0).value = "some query"
buttons(0).click

一切都好了。

这是JScript中的一个脚本,应该做同样的事情:

var ie = new ActiveXObject("InternetExplorer.Application");

ie.visible = true;
ie.navigate("www.google.com");

do {
    WScript.Sleep(100); 
} while (ie.readystate !== 4);

var input = ie.document.getElementsByName("q");
var button = ie.document.getElementsByName("btnG");

input(0).value = "some query";  
button(0).click;

它正确地将搜索字段设置为“某个查询”,但它不会单击该按钮!从字面上看,input(0).value = "some query";行之后没有任何事情发生。

我是JScript的新手,所以我想知道,对于某些特定的细节,我是否愚蠢无知?

1 个答案:

答案 0 :(得分:1)

button(0).click;

是对函数的引用。

button(0).click();

将是函数调用。

(另外,它不应该是方括号吗?)