Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

παιδιά πειραματίζομαι με python και προφανώς κόλλησα τρέχω έναν κώδικα που βρήκα στο ίντερνετ σε τερματικό και παίρνω error (δείτε την εικόνα που έβαλα)

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import csv

base_url='url'


with open('lawyers.csv', 'w') as f:file = csv.writer(f)
file.writerow(["test"])
chrome_path=r"path\chromedriver_win32\chromedriver.exe"
driver=webdriver.Chrome(chrome_path)
driver.get(base_url)

elem = browser.find_element_by_name('STATE')
elem.send_keys('SC')
browser.find_element_by_xpath("//input[@type='button']").click()

while browser.find_elements_by_xpath("/html/body/table/tbody/tr/td/table[1]/tbody/tr/td[3]/a"):
for i in xrange(1, 16):
try:
info = browser.find_element_by_xpath("//tr[{0}]/td[1]/a".format(i))
info.click()
try:
lawyers = str(browser.find_element_by_xpath("/html/body/table/tbody/tr/td/table/tbody/tr[1]/td[2]").text)
ls = [lawyer.strip().split(',') for lawyer in lawyers.splitlines()]
file.writerow([''.join(ls[0]), ''.join(ls[1]), ''.join(ls[2]), ''.join(ls[4]), ''.join(ls[5]), ''.join(ls[6])])
except:
pass
browser.back()
except:
pass


try:
centers = browser.find_element_by_xpath("/html/body/table/tbody/tr/td/table[1]/tbody/tr/td[3]/a").click()
except:
pass

post-232776-0-55785000-1479207417_thumb.png

  • Moderators
Δημοσ.

Στην python, επειδή δεν υπάρχουν ούτε braces ούτε end ούτε τίποτα άλλο, το indentation έχει σημασία για να ξέρει ο κώδικας πού αρχίζει και τελειώνει τι.

Δημοσ.

ξανά ανεβάζω τον κώδικα τώρα το error βγαίνει στο τέλος δείτε στην φώτο

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import csv

base_url = 'https://www.g'

with open('lawyers.csv', 'w') as f:
    file = csv.writer(f)
    chrome_path=r"path\chromedriver_win32\chromedriver.exe"
    driver=webdriver.Chrome(chrome_path)
    driver.get(base_url)

browser.get(base_url)
elem = browser.find_element_by_name('STATE')
elem.send_keys('SC')
browser.find_element_by_xpath("//input[@type='button']").click()

while browser.find_elements_by_xpath("/html/body/table/tbody/tr/td/table[1]/tbody/tr/td[3]/a"):
     for i in xrange(1, 16):
          try:
              info = browser.find_element_by_xpath("//tr[{0}]/td[1]/a".format(i))
              info.click()
              try:
                  lawyers = str(browser.find_element_by_xpath("/html/body/table/tbody/tr/td/table/tbody/tr[1]/td[2]").text)
                  ls = [lawyer.strip().split(',') for lawyer in lawyers.splitlines()]
                  file.writerow([''.join(ls[0]), ''.join(ls[1]), ''.join(ls[2]), ''.join(ls[4]), ''.join(ls[5]), ''.join(ls[6])])
              except:
                  pass
              browser.back()
          except:
              pass
              try:
   centers = browser.find_element_by_xpath("/html/body/table/tbody/tr/td/table[1]/tbody/tr/td[3]/a").click()
except:
   pass

post-232776-0-25044200-1479214069_thumb.png

Δημοσ.

Μην ακουστεί ειρωνικό αλλά απο τα πρώτα πράγματα που πρέπει να κάνεις όταν μαθαίνεις μία γλώσσα προγραμματισμού είναι να μάθεις να καταλαβαίνεις τα compilation errors.

 

Γνώμη μου παράτα αυτό που κάνεις και γράψε 5 - 6 προγραμματάκια με λούπες που τυπώνουν αριθμούς , λεκτικά ότι γουστάρεις με if, for , while κτλ. για να τα μάθεις και μετά προχωράς

Δημοσ.

καλά ναι έχεις δίκιο σε αυτό καθόλου ειρωνικό δεν είναι, άπλα δοκίμασα να τρέξω πρώτα κάτι να δω τι παίζει 

Δημοσ.

Πάντως για να μην σε βασαίζουμε , αν και δεν ξέρω python ο κώδικας που έχεις κάνει δεν έχει σωστό indentation το τελευταίο except σε ποιο try αναφέρεται?

 

Αυτά πρέπει να μπούν κάτω απο το τελευταίο try μάλλον

centers = browser.find_element_by_xpath("/html/body/table/tbody/tr/td/table[1]/tbody/tr/td[3]/a").click()
except:
   pass

 

Edit: Είδα το site πρέπει να το τελεταίο try να μετακινηθεί στην αρχή (σύμφωνα με το site) 

 

Edit2 : Και να κάνει compile ο κώδικας , δεν θα παίξει γιατί δεν υπάρχει η σελίδα του tutorial 

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...