跳到主要内容

执行JS

命令说明

执行JS,返回JS执行结果(字符串格式)

命令原型

sRet = WebBrowser.RunJS(hWeb,sScript,bSync,optionArgs)

命令参数

参数必选类型默认值说明
hWebTrueexpressionhWeb使用 WebBrowser.Create 或 WebBrowser.Bind 命令返回的浏览器句柄字符串
sScriptTruestring"function(){return 123}"要执行的JS脚本内容
bSyncTruebooleanTrue是否同步执行,传递为 true 则等待JS运行完成后才返回继续执行,传递为 false 则JS开始执行立即返回
bContinueOnErrorFalsebooleanFalse指定即使活动引发错误,自动化是否仍应继续。该字段仅支持布尔值(True,False)。默认值为False
iDelayAfterFalsenumber300执行活动后的延迟时间(以毫秒为单位)。默认时间为300毫秒
iDelayBeforeFalsenumber200活动开始执行任何操作之前的延迟时间(以毫秒为单位)。默认的时间量是200毫秒

返回结果

sRet,将命令运行后的结果赋值给此变量。

运行实例

/*********************************执行JS***************************************
命令原型:
WebBrowser.RunJS(hWeb,sScript,bSync,optionArgs)
入参:
hWeb--浏览器对象
sScript--JS脚本内容
bSync--是否同步执行
bContinueOnError--错误后是否继续
iDelayAfter--执行后延时
iDelayBefore--执行前延时
出参:
sRet --命令运行返回的结果
注意事项:
使用谷歌内核的浏览器首次使用需要安装扩展并启用扩展
需要打开浏览器后才能使用
*********************************************************************************/
Dim hWeb, sRet
//启动IE浏览器并打开百度首页
hWeb = WebBrowser.Create("ie","www.baidu.com",30000,{"bContinueOnError":false,"iDelayAfter":300,"iDelayBefore":200,"sBrowserPath":"","sStartArgs":""})
TracePrint(hWeb)
//运行js代码,返回js代码的返回值
sRet = WebBrowser.RunJS(hWeb,"function(){return document.getElementsByClassName('bg s_btn')}",true,{"bContinueOnError":false,"iDelayAfter":300,"iDelayBefore":200})
//在调试栏打印结果
TracePrint(sRet)

可视化样例