當我點擊這個標籤:超時::後新的瀏覽器窗口打開的錯誤
<label> Row </label>
使用該代碼的Watir
br.frame(:name, "frameset").frame(:name, "main_content").span(:class=>"tabtext", :text=>/Row/).click
一個新的瀏覽器窗口打開,但我收到此錯誤信息:
Timeout::Error: Timeout::Error
from /Users/zeljko/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/protocol.rb:146:in `rescue in rbuf_fill'
from /Users/zeljko/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/protocol.rb:140:in `rbuf_fill'
from /Users/zeljko/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/protocol.rb:122:in `readuntil'
from /Users/zeljko/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/protocol.rb:132:in `readline'
from /Users/zeljko/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/http.rb:2562:in `read_status_line'
from /Users/zeljko/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/http.rb:2551:in `read_new'
from /Users/zeljko/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/http.rb:1319:in `block in transport_request'
from /Users/zeljko/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/http.rb:1316:in `catch'
from /Users/zeljko/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/http.rb:1316:in `transport_request'
from /Users/zeljko/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/http.rb:1293:in `request'
from /Users/zeljko/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/http.rb:1286:in `block in request'
from /Users/zeljko/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/http.rb:745:in `start'
from /Users/zeljko/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/http.rb:1284:in `request'
from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/selenium-webdriver-2.19.0/lib/selenium/webdriver/remote/http/default.rb:81:in `response_for'
from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/selenium-webdriver-2.19.0/lib/selenium/webdriver/remote/http/default.rb:43:in `request'
from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/selenium-webdriver-2.19.0/lib/selenium/webdriver/remote/http/common.rb:40:in `call'
from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/selenium-webdriver-2.19.0/lib/selenium/webdriver/remote/bridge.rb:590:in `raw_execute'
from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/selenium-webdriver-2.19.0/lib/selenium/webdriver/remote/bridge.rb:568:in `execute'
from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/selenium-webdriver-2.19.0/lib/selenium/webdriver/remote/bridge.rb:350:in `clickElement'
from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/selenium-webdriver-2.19.0/lib/selenium/webdriver/common/element.rb:34:in `click'
from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/watir-webdriver-0.5.3/lib/watir-webdriver/elements/element.rb:107:in `click'
from (irb):75
from /Users/zeljko/.rvm/rubies/ruby-1.9.3-p0/bin/irb:16:in `<main>'
我沒有在任何瀏覽器窗口中看到任何奇怪的東西。新窗口打開很快。我不知道爲什麼我有超時錯誤。我能做些什麼來擺脫它?或者頁面的響應速度很慢?
如果我拯救了異常,我可以關閉新窗口並繼續執行腳本,但我想避免解救錯誤。
環境:Mac OS X的10.7.3,火狐10.0.1,紅寶石1.9.3p0,硒webdriver的2.19.0,的Watir-的webdriver 0.5.3
更新:
我很確定問題是由window.showModalDialog
打開的窗口造成的。例如,這個超時:
b.execute_script "window.showModalDialog('http://google.com');"
我會調查更多並更新問題。看起來像硒不支持window.showModalDialog
尚未:http://code.google.com/p/selenium/issues/detail?id=284
除非你能創建一個讓我們重現問題的例子,否則很難提供幫助。 – jarib 2012-02-16 09:14:56
你是否已經增加了你的驅動程序超時? – 2012-02-16 16:25:08
這可能與它打開一個新窗口的事實有關,而不僅僅是在瀏覽器內導航?是.click期待本地瀏覽器做些什麼,並因爲它不是? – 2012-02-16 19:00:53