2013-05-06 3 views
0

내 학교 수준의 사이트에서 정보를 복용 임은 긴 문자열이 출력되어 나오는 :문자열을 분할하고 그것을 할당 변수

[u'--'] 
[u'B', u'84'] 
[u'--'] 
[u'A-', u'90'] 
[u'--'] 
[u'C+', u'79'] 
[u'--'] 
[u'A', u'95'] 
[u'--'] 
[u'B', u'82'] 
[u'--'] 
[u'B', u'81'] 

임이가 밖으로

for cell in driver.find_elements_by_css_selector(".grid tr a[href$='fg=S2']"): 
    gradesList = cell.text.split('\n') 
    print gradesList 
을 넣어 얻기 위해 사용

내가 성적의 각 변수를 할당하고 그들 모두가 그것은 당신의 루프에서 .split 호출과 같은 각 변수

+0

: - "텍스트 (? 파서 라이브러리와 함께 추가 CSS 클래스 내용 필터)로 우리는 좋은 목록의 이해를 얻을 수 있습니다 'gradesList [0]'예를 들면. – squiguy

+0

만약 내가'gradesList [0]'을 인쇄하면 성적 용 글자 만 출력되지만 여전히 모두 함께 있습니다 – Serial

답변

1

로 분리하는 방법을 확실하지 메신저 싶은 다른 뉴를 반환 보고있는 HTML 태그에 따라 여러 요소가 있습니다. 그 나쁜 태그를 필터링 할 수있는 방법이없는 경우, 여기에 할당을 destructuring 필요한 경우 요소를 건너 뛰는 깨끗한 방법 :

for cell in driver.find_elements_by_css_selector(".grid tr a[href$='fg=S2']"): 
    gradesList = cell.text.split('\n') 
    if len(gradesList) < 2: 
     continue 

    letter_grade, score = gradesList 

    # Use variables... 

만에 요소를 피하는 방법을 알아낼 수 있다면 "는 - 당신은리스트의 요소에 액세스 할 수있는 별도의 변수로 각각 처리 할 수 ​​있습니다

grade_elements = driver.find_elements_by_css_selector(".grid tr a[href$='fg=S2']") 
grades = [g.text.split('\n') for g in grade_elements] 
+0

이 작동하지만 각 학년에 별도의 변수가 필요합니다 – Serial

+0

업데이트 된 답변보기. '-'만 사용하여 요소를 필터링하는 방법이 있다면 매우 간단한 해결책을 얻을 수 있습니다. –

+0

고마워 아픈 걸 알아 내려고 시도해. – Serial

관련 문제