1

私はちょうどこれを試しました:$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'

何かをインストールしていませんか?

4

2 に答える 2

1

例外は、スクリプトの実行時に JavaScript エラーが発生したことを意味します。

スクリプトを修正したほうがよいでしょうが、本当に例外を無視したい場合は、begin-rescue でラップすることができます。

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

例外が発生すると、rescue はそれをキャッチし、プログラムを続行できるようにします。

于 2012-12-05T14:18:39.420 に答える
0

一重引用符でうまくいくか試してみてください。

$browser.execute_script("alert('aaa')")
于 2012-12-06T14:43:46.710 に答える