bilakos26 Δημοσ. 28 Δεκεμβρίου 2020 Δημοσ. 28 Δεκεμβρίου 2020 (επεξεργασμένο) Καλησπέρα! Είμαι καινούργιος στον προγραμματισμό, ωστόσο προσπαθώ να με έχω συνεχώς σε απασχόληση αυτές τις μέρες της καραντίνας. Προσπαθώ να φτιάξω ένα script που να κάνει αυτόματη σύνδεση στο Stoiximan.gr , αλλά συνέχεια έχω error με το xpath της σελίδας το οποίο μου λέει πως δεν το βρίσκει. Έχω δοκιμάσει τα πάντα από ότι έχω βρει στο ίντερνετ διαθέσιμο χωρίς κανένα αποτέλεσμα. from time import sleep from selenium import webdriver from selenium.webdriver.common.keys import Keys import login_data def main(): options = webdriver.ChromeOptions() options.headless = False options.add_experimental_option("excludeSwitches", ["enable-logging"]) browser = webdriver.Chrome(options=options, executable_path=r'C:\Users\bilakos\Documents\DRIVERS\chromedriver.exe') browser.get("https://www.stoiximan.gr") sleep(5) login_data.login(browser) main() Εδώ είναι η συνάρτηση που κάνω import: def login(browser): username = 'Username' password = 'password' #Κάνει κλικ στο κουμπή είσοδος eisodos = browser.find_element_by_xpath("""//*[@id="landing-page-modal"]/div/div[2]/div[1]/p[2]/a""") eisodos.click() sleep(5) #Εδώ είναι το σημείο που βρίσκει το σημείο για την εκχώρηση του username username_input = browser.find_element_by_xpath("""//[@id="js-login-form"]/div[1]/div[1]/input""") username_input.click() username_input.send_keys(username) #Εδώ είναι το σημείο που βρίσκει το σημείο για την εκχώρηση του password password_input = browser.find_element_by_xpath("""//[@id="js-login-form"]/div[2]/div[1]/input""") password_input.click() password_input.send_keys(password) #Εδώ εφόσον όλα τα παραπάνω έχουν ολοκληρωθεί, πατάει το κουμπί της σύνδεσης login_button = browser.find_element_by_xpath("""//*[@id="js-login-button"]""") login_button.click() sleep(10) Και αυτό είναι το error που μου εμφανίζει: selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="js-login-form"]/div[2]/div[1]/input"} (Session info: chrome=87.0.4280.88) Το error το εμφανίζει τόσο για το xpath του Username όσο και για του Password. Για το κουμπί της σύνδεσης δεν έχω δοκιμάσει ακόμη κάτι. Όποιος έχει κάποια ιδέα και θέλει να βοηθήσει θα το ήμουν ευγνώμων. Επεξ/σία 28 Δεκεμβρίου 2020 από bilakos26
Lanike71 Δημοσ. 28 Δεκεμβρίου 2020 Δημοσ. 28 Δεκεμβρίου 2020 Δεν ξέρω αν βοηθάω, αλλά κάποια στιγμή που είχα ανάλογο πρόβλημα, το πήρα με το parent αυτού που ήθελα. Ήταν όμως σε πίνακα και όχι σε φόρμα. Δοκίμασε και βλέπεις.
bilakos26 Δημοσ. 28 Δεκεμβρίου 2020 Μέλος Δημοσ. 28 Δεκεμβρίου 2020 (επεξεργασμένο) 2 ώρες πριν, Lanike71 είπε Δεν ξέρω αν βοηθάω, αλλά κάποια στιγμή που είχα ανάλογο πρόβλημα, το πήρα με το parent αυτού που ήθελα. Ήταν όμως σε πίνακα και όχι σε φόρμα. Δοκίμασε και βλέπεις. @Lanike71Φίλε όντας άσχετος, βοήθησε με να καταλάβω, τι εννοείς parent; Επεξ/σία 28 Δεκεμβρίου 2020 από bilakos26
bilakos26 Δημοσ. 28 Δεκεμβρίου 2020 Μέλος Δημοσ. 28 Δεκεμβρίου 2020 (επεξεργασμένο) @Lanike71 3 ώρες πριν, Lanike71 είπε Δεν ξέρω αν βοηθάω, αλλά κάποια στιγμή που είχα ανάλογο πρόβλημα, το πήρα με το parent αυτού που ήθελα. Ήταν όμως σε πίνακα και όχι σε φόρμα. Δοκίμασε και βλέπεις. def login(browser): username = 'Username' password = 'password' eisodos = browser.find_element_by_xpath("""//*[@id="landing-page-modal"]/div/div[2]/div[1]/p[2]/a""") eisodos.click() sleep(5) ############################################################################## child_elem = browser.find_element_by_xpath("//*[@type='text']") parent_elem = child_elem.find_element_by_xpath('..') parent_elem.click() parent_elem.send_keys(username) ################################################################################ password_input = browser.find_element_by_xpath("""//[@id="js-login-form"]/div[2]/div[1]/input""") password_input.click() password_input.send_keys(password) login_button = browser.find_element_by_xpath("""//*[@id="js-login-button"]""") login_button.click() sleep(10) Λογικά εννοούσες κάτι τέτοιο ως parent. Με βάση αυτό πάντως ούτε και τώρα δούλεψε. Μου εμφανίζει το εξής error αυτή την φορά: selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <div class="bet-mentor-widget__input-wrapper">...</div> is not clickable at point (752, 785). Other element would receive the click: <iframe src="/myaccount/login" frameborder="0"></iframe> (Session info: chrome=87.0.4280.88) Λέει πως δεν είναι επιλέξιμο. Επεξ/σία 28 Δεκεμβρίου 2020 από bilakos26
bilakos26 Δημοσ. 29 Δεκεμβρίου 2020 Μέλος Δημοσ. 29 Δεκεμβρίου 2020 Βρήκα την λύση. Τελικά κάποιος μου απαντήσε στο stack overflow και μου είπε ότι αν αλλάξω το url και αντί για https://www.stoiximan.gr , να βάλω https://www.stoiximan.gr/myaccount/login και έτσι δούλεψε. Απίστευτο;;
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα