2013-08-27 4 views
5

मैंने ब्राउज़र के रूप में क्रोम सेट के साथ Watir::Browser का एक उदाहरण बनाया है।वॉटर: मैन्युअल रूप से चेतावनी बंद करने के बाद पृष्ठ को रीफ्रेश करने का प्रयास करते समय "अप्रत्याशित चेतावनी खुला" त्रुटि फेंक दी गई

b = Watir::Browser.new :chrome  

मैं मैन्युअल एक चेतावनी बंद और फिर

b.refresh 

निम्न त्रुटि का उपयोग कर पृष्ठ को ताज़ा करने का प्रयास करते हैं फेंक दिया जाता है:

Selenium::WebDriver::Error::UnhandledAlertError: unexpected alert open 
    (Session info: chrome=28.0.1500.95) 
    (Driver info: chromedriver=2.2,platform=Windows NT 6.1 x86_64) 
     from C:/ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/remote/response.rb:51:in  assert_ok' 
     from C:/ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/remote/response.rb:15:in  initialize' 
     from C:/ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/remote/http/common.rb:59:in  new' 
     from C:/ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/remote/http/common.rb:59:in  create_response' 
     from C:/ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/remote/http/default.rb:66:in  request' 
     from C:/ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/remote/http/common.rb:40:in  call' 
     from C:/ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/remote/bridge.rb:634:in  raw_execute' 
     from C:/ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/remote/bridge.rb:612:in  execute' 
     from C:/ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/remote/bridge.rb:210:in  refresh' 
     from C:/ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/common/navigation.rb:38:in  refresh' 
     from C:/ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.4/lib/watir-webdriver/browser.rb:201:in  refresh' 

जब मैं b.alert.exists? फोन वापस करती true

मैंने चेतावनी की स्थिति को रीसेट करने के लिए b.alert.initialize का उपयोग करने की कोशिश की लेकिन यह एक अपवाद फेंक दिया।

क्या ब्राउज़र ऑब्जेक्ट की स्थिति पूरी तरह से रीसेट करने का कोई तरीका है?

+0

ही यहाँ चेतावनी नहीं ... मैं फ़ायरफ़ॉक्स के साथ भी करने की कोशिश की, नहीं ज्यादा सफलता:

यहाँ कैसे है। b.alert.exists? b.alert.ok मैंने http://watirwebdriver.com/javascript-dialogs/ पर हर चीज़ की कोशिश की लेकिन कोई भाग्य नहीं है? – Dakadaka

+0

मैंने इसे कभी हल नहीं किया मुझे डर है। – Castrohenge

उत्तर

5

मैं भी इस समस्या का सामना करना पड़ रहा था:

लेकिन मैं सफलतापूर्वक एक begin-rescue ब्लॉक में इसके सामने यह से छुटकारा पाने के कर रहा हूँ। काम कर

begin 
    # put line of code which triggers alert on page 
    rescue Selenium::WebDriver::Error::UnhandledAlertError 
    @browser.alert.ok 
    end 
संबंधित मुद्दे