OLE 错误代码80020101由服务员execute_script引起的



我刚刚试过这个:$browser.execute_script("alert("aaa")")

然后我得到以下错误:

h:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-3.2.0/lib/watir-classic/page-container.rb:46:in `method_missing': (in OLE method `execScript': ) (WIN32OLERuntimeError)
OLE error code:80020101 in <Unknown>
  Could not complete the operation due to error 80020101.HRESULT error code:0x80020009
  Exception occurred.
    from h:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-3.2.0/lib/watir-classic/page-container.rb:46:in `rescue in execute_script'
    from h:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-3.2.0/lib/watir-classic/page-container.rb:39:in `execute_script'

我是否缺少安装某些内容?

异常意味着运行脚本时发生 javascript 错误。

虽然修复脚本会更好,但如果你真的想忽略异常,你可以把它包装在一个开始救援中:

begin
    $browser.execute_script("asdfasd") 
rescue WIN32OLERuntimeError
    #Ignore javascript error that occurred
end

当异常发生时,救援将捕获它并允许程序继续。

尝试使用单引号使其正常工作:

$browser.execute_script("alert('aaa')")

相关内容

最新更新