pmav99 Δημοσ. 21 Απριλίου 2016 Δημοσ. 21 Απριλίου 2016 Ναι δεν χρειάζεται να ορίζεις μόνος σου CSRF κτλ.
gon1332 Δημοσ. 23 Απριλίου 2016 Μέλος Δημοσ. 23 Απριλίου 2016 Done with Selenium. Το αστεράκι με τον αριθμό από δίπλα.
k33theod Δημοσ. 24 Απριλίου 2016 Δημοσ. 24 Απριλίου 2016 Ωραίος και καθαρός κώδικας, αν είχε και επεξηγηματικά comments θα ήταν πολύ καλό. Το (linux only) σημαίνει κάτι?
gon1332 Δημοσ. 24 Απριλίου 2016 Μέλος Δημοσ. 24 Απριλίου 2016 Σε κάποια φάση θα ασχοληθώ και με το συμμάζεμα. Το Linux only το έβαλα γιατί μόνο σε αυτό το περιβάλλον το test-αρα. Δεν έψαξα καν αν υπάρχει πχ. ο PhantomJS σε windows ή κάποιο άλλο OS. 1
pmav99 Δημοσ. 25 Απριλίου 2016 Δημοσ. 25 Απριλίου 2016 @gon1332 Το assert που κάνεις δεν έχει και πολύ νόημα... Εκτός αυτού, τα assertions θα έπρεπε να αποφεύγονται στον «κανονικό» κώδικα της εφαρμογής σου γιατί μπορούν να γίνουν disabled κατά το runtime. Επίσης, στην πλειοψηφία των περιπτώσεων, το AssertionError δεν είναι το σωστό exception (semantically speaking ). Όταν θες να τσεκάρεις ότι ισχύει κάτι τότε κάντο explicitly και σήκωσε το κατάλληλο exception: if "Insomnia" not in driver.title: raise ValueError("Where am I? <%s>" % LOGIN_URL) Από εκεί και πέρα, στην συγκεκριμένη περίπτωση, τα try/except μπορείς να τα αποφύγεις ως εξής: import atexit # create driver driver = webdriver.PhantomJS() atexit.register(driver.close) # login driver.get(LOGIN_URL) driver.find_element_by_id("ips_username").send_keys(USER) # when an id is available, always prefer that. driver.find_element_by_id("ips_password").send_keys(PASS) driver.find_element_by_class_name("input_submit").submit() # get unread messages driver.get(TARGET_URL) unread_elems = driver.find_elements_by_class_name("unread") print("\u2605", len(unread_elems)) Όπως βλέπεις ο κώδικας γίνεται πιο concise και ευανάγνωστος. Tip: Όταν χρειάζεται να κάνεις handle πολλές φορές το ίδιο πράγμα, τότε καλό είναι να γράψεις έναν context manager. Δες εδώ για να πάρεις ιδέες: http://hoardedhomelyhints.dietbuddha.com/2012/12/52python-encapsulating-exceptions-with.html 1
gon1332 Δημοσ. 25 Απριλίου 2016 Μέλος Δημοσ. 25 Απριλίου 2016 Ωραίος. Όντως είναι πιο ευανάγνωστος. Έχεις δίκαιο για το assert. Το είχε στο tutorial κι απλά έπαιζα μαζί του.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα