2015-09-30 21 views
6

में xpath में एक चर का उपयोग करके मुझे यह पता लगाने में परेशानी हो रही है कि सेलेनियम काम करने के लिए एक चर कैसे प्राप्त करें। ऐसा लगता है कि इस पोस्ट ने मदद की है (Variable not working inside parenthesis) लेकिन मैं अभी भी इसे काम नहीं कर सकता।पायथन सेलेनियम

जब मैंने वास्तविक मूल्य का उपयोग किया तो यह काम करता है। इस मामले में अल-अलबामा। मैंने एक चर नामक राज्य बनाया ताकि मैं अपने कार्य में पर कॉल कर सकूं। मेरे पास दौड़ने के लिए 13 राज्य हैं।

driver.find_element_by_xpath("//option[@value='AL-Alabama']").click() 

यह एक राज्य चर का उपयोग करता है और त्रुटि संदेश को देख में यह अल अलबामा के रूप में चर मान दिखाती है। तो ऐसा लगता है कि यह वेब पेज में सही मान का संदर्भ दे रहा है। यकीन नहीं है कि मैं क्या खो रहा हूं या यह क्यों काम नहीं कर रहा है। किसी भी मार्गदर्शन की सराहना की जाएगी।

driver.find_element_by_xpath('//option[@value=' + state + ']').click() 
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//option[@value=AL-Alabama]"} 
+0

चयन का उपयोग क्यों नहीं करें? –

+0

मैंने पोस्ट के रूप में @EGHM द्वारा पोस्ट को चिह्नित किया। लेकिन उन लोगों के लिए जो इस जानकारी का उपयोग करने में सक्षम हो सकते हैं, मैंने पाया कि चयन भी वास्तव में काम करता है। मैंने चयन (driver.find_element_by_class_name ("c3")) का चयन किया। Select_by_visible_text (राज्य)। निश्चित नहीं है कि मुझे एक टिप्पणी में कोड डालना था। – shavar

+1

@ शावर एक चयन अबास्ट्रक्शन के साथ जा रहा है वास्तव में समस्या से संपर्क करने के लिए एक बहुत साफ तरीका है। – alecxe

उत्तर

4

मूल्य के चारों ओर एकल उद्धरण इस बात के साथ मौजूद नहीं हैं कि आपने इसे कैसे कोड किया है। आज़माएं:

driver.find_element_by_xpath("//option[@value='" + state + "']").click() 
+0

हां ने ऐसा किया। तो मुझे लगता है कि यह एक स्ट्रिंग के रूप में नहीं पढ़ रहा था? यह मेरी अन्य परियोजनाओं के साथ मेरी मदद करेगा। धन्यवाद। – shavar

+0

मुझे लगता है कि अजगर इसे एक स्ट्रिंग के रूप में पढ़ रहा था। सेलेनियम द्वारा बराबर चिह्न की आवश्यकता के बाद मुझे मूल्यों के चारों ओर उद्धरणों के बहुत सारे अनुभवों से पता है। – EGHM

+1

सुपर-सहायक। धन्यवाद। –

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