2017-11-30 30 views
5

एक बार जब मैं निम्नलिखित आइटम को कार्ट में जोड़ता हूं: http://www.supremenewyork.com/shop/accessories/wau85w4km/cxv3ybp1w और चेक आउट पेज पर जाएं: https://www.supremenewyork.com/checkout, एक नियम और शर्तें चेकबॉक्स है कि मैं Browser’s splinter के साथ जांच करने का प्रयास कर रहा हूं लेकिन मैं ऐसा करने में सक्षम नहीं हूं:पायथन: ब्राउज़र स्प्लिंटर के साथ चेकबॉक्स कैसे चेक करें?

उदाहरण निम्नलिखित का प्रयास किया लेकिन सभी को एक त्रुटि आई:

from splinter import Browser 

browser = Browser("chrome") 
browser.find_by_id('order_terms').click()   
#Error: selenium.common.exceptions.WebDriverException: Message: unknown error 

browser.check('order[terms]').click() 
#Error: selenium.common.exceptions.ElementNotVisibleException: Message: element not visible 

browser.find_by_name('order[terms]').click() 
#Error: selenium.common.exceptions.ElementNotVisibleException: Message: element not visible 

मैं गलत क्या कर सकता हूं? और मैं Browser splinter के साथ चेकबॉक्स की जांच कैसे कर सकता हूं?

अग्रिम रूप से धन्यवाद और वोट दें करने के लिए/स्वीकार जवाब

+0

आप पोस्ट कृपया आप में चल रहे हैं त्रुटि कोड: और उपयोग की शर्तों को स्वीकार करता है, time.sleep() अंत में आप परिणाम देखने के लिए बस के लिए है? –

+1

@SuitBoyApps ने इसी त्रुटि के साथ मूल उत्तर संपादित किया! प्रतिक्रिया की सराहना करें –

+0

आप इन लेखों को देखना चाहते हैं [त्रुटि 1] (https://stackoverflow.com/questions/46026987/selenium-gives-selenium-common-exceptions-webdriverexception-message- अज्ञात), [त्रुटि 2] (https://stackoverflow.com/questions/27927964/selenium-element-not-visible-exception)। मैं 'स्प्लिंटर' लाइब्रेरी से बहुत परिचित नहीं हूं, लेकिन अगर मुझे अनुमान लगाया गया कि क्या हो रहा था, तो मैं कहूंगा कि दूसरी त्रुटियां पहले के कारण होती हैं। –

उत्तर

2

दो प्रमुख बातें बाहर बिंदु करने के लिए सुनिश्चित हो जाएगा:

  • समय मुद्दों से बचने के हैं, तो आपको "स्पष्ट प्रतीक्षा करता है" में अपने स्क्रिप्ट - अगले कार्यों पर जाने से पहले तत्वों को दिखाई देने या उपस्थित होने की प्रतीक्षा
  • यह चेकबॉक्स input और अन्य सहायक तत्वों वाले पूरे label तत्व पर क्लिक करके क्लिक किया जा सकता है और क्लिक किया जाना चाहिए ,

    from splinter import Browser 
    
    browser = Browser("chrome") 
    browser.visit("http://www.supremenewyork.com/shop/accessories/wau85w4km/cxv3ybp1w") 
    browser.wait_time = 10 
    
    try: 
        browser.is_element_visible_by_css("input[name=commit]", 10) 
        browser.find_by_css("input[name=commit]").first.click() 
    
        browser.is_element_visible_by_css("a.checkout", 10) 
        browser.find_by_css("a.checkout").first.click() 
    
        browser.is_element_present_by_css("label.terms", 10) 
        browser.find_by_css('label.terms').click() 
    finally: 
        browser.quit() 
    

    यहाँ एक काम कोड है कि मुख्य पृष्ठ पर चला जाता है स्क्रोलर में तीसरे उत्पाद पर नेविगेट कर गाड़ी में जोड़ लेता है, बाहर की जाँच करता है:

यहाँ पूरा कोड है

from splinter import Browser 

browser = Browser("chrome") 
browser.visit("http://www.supremenewyork.com/shop") 
browser.wait_time = 10 

try: 
    # open a product 
    browser.is_element_visible_by_css("#shop-scroller > li > a", 10) 
    browser.find_by_css("#shop-scroller > li > a")[2].click() 

    # add to cart 
    browser.is_element_visible_by_css("input[name=commit]", 10) 
    browser.find_by_css("input[name=commit]").first.click() 

    # checkout 
    browser.is_element_visible_by_css("a.checkout", 10) 
    browser.find_by_css("a.checkout").first.click() 

    # accept terms and conditions 
    browser.is_element_present_by_css("label.terms", 10) 
    browser.find_by_css('label.terms').click() 

    import time 
    time.sleep(10) 
finally: 
    browser.quit() 
+0

प्रतिक्रिया की सराहना करें! लेकिन क्या आपने निम्न कोशिश की है? निम्नलिखित आइटम को कार्ट में जोड़ें: http://www.supremenewyork.com/shop/accessories/wau85w4km/cxv3ybp1w और चेक आउट पेज पर जाएं: https: //www.supremenewyork।कॉम/चेकआउट, एक नियम और शर्तें चेकबॉक्स है कि मैं ब्राउज़र के स्प्लिंटर से जांच करने का प्रयास कर रहा हूं। क्योंकि मैंने प्रयास किया लेकिन अभी भी काम नहीं करता है। –

+0

यह देखने के लिए जांच कर रहा है कि आपने पिछली टिप्पणी देखी है या नहीं। अग्रिम में धन्यवाद! –

+0

@ जोको आह, क्षमा करें, पहली टिप्पणी चूक गई। कृपया अद्यतन उत्तर देखें, बस मेरे लिए क्या काम करता है जोड़ा गया है। अगर आपको इसके साथ कोई समस्या है तो मुझे बताएं। धन्यवाद। – alecxe

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