2015-02-09 4 views
6

में एक नया टैब खोलना मैं कैपिबरा/पोल्टरगेस्ट का उपयोग करके उस पर क्लिक करके एक लिंक खोलने की कोशिश कर रहा हूं जो एक नए टैब में खुलता है।Capybara/Poltergeist

मुझे यह काम नहीं मिल रहा है।

@session.find(<link>).click 

बस, के रूप में करता है

click_link "<link>" 

@session.driver.window_handles 

केवल मुझे 1 खिड़की जो कुछ भी मैं कर रहा हूँ देने के लिए लगता है एक ही पृष्ठ पर रहने के लिए लगता है।

मैं उस लिंक को एक नए टैब में खोलने के लिए कैसे प्राप्त करूं?

ला ला (With Capybara, how do I switch to the new window for links with "_blank" targets?) क्या काम करता है या नहीं करता है, इस बारे में भ्रम की उचित मात्रा माना जाता है।

किसी को उम्मीद है कि किसी ने इसे काम किया है ... मेरे सिर को इसके आसपास नहीं लग रहा है।

ठीक है। Poltergeist (1.6.0) के नवीनतम संस्करण को अद्यतन करके हम कुछ प्रगति कर रहे हैं।

हालांकि मेरे पास दो खिड़कियां हैं लेकिन उन्हें नहीं पता कि उनके बीच कैसे स्विच करें।

@session.windows 

मुझे

[विंडो @ संभाल = "0", खिड़की @ संभाल = "1"] देता है (थोड़ा संशोधित रूप में यह थोड़ा अजीब जा रहा था)।

NoMethodError: undefined method `handle' for "1":String 

उत्तर

6

सही, फ़रवरी 5 वीं 2014 और poltergeist की v1.6 के रूप में, आप यह कर सकते हैं के रूप में, ...

@session.click_on "link_with_target _blank" 

@session.switch_to_window(@session.windows.last) 
#Do whatever you're doing 
@session.current_window.close 
@session.switch_to_window(@session.windows.first) 
में

लेकिन

@session.switch_to_window(1) 

परिणाम

उम्मीद है कि किसी के लिए चीजों को साफ़ करता है ...

+1

यह सही है। 'switch_to_window' विंडो ऑब्जेक्ट को तर्क के रूप में चाहता है, सूचकांक नहीं। यही कारण है कि उदा। 'windows.last' काम करता है। आप '@ session.switch_to_window (@ session.windows [1]) भी कर सकते हैं। आपको अपना जवाब सही के रूप में स्वीकार करना चाहिए! – henrebotha

1

मैंने

page.switch_to_window(page.windows[0]) 

शायद यह किसी के लिए उपयोगी है।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^