2017-10-25 1 views
-2

작업의 텍스트를 인쇄하려고합니다. 불행하게도, HREF는 전혀 표시하지 유지하고 나는 다음과 같은 오류 얻을 텍스트 인쇄 오류가 점점 계속 : 나는이 같은 변화를 시도 hereAttributeError : 'str'객체에 'text'속성이 없습니다. CSS 오류가 발생했습니다.

with open('Aperture Science.csv', 'a+', newline='\n') as file: 
     writer = csv.writer(file) 
     for section in sections: 
      try: 
       link = section.find_element_by_css_selector("h3 a").get_attribute("href") 
       print((section.get_attribute('href'))) 
      except NoSuchElementException: 
       pass 
      time.sleep(7) 
      try: 
       team_name = section.find_element_by_css_selector(".row:nth-child(1) td:nth-child(1)").text 
       print(section.text) 
      except NoSuchElementException: 
       pass 
      time.sleep(7) 
      try: 
       bet = section.find_element_by_css_selector(".odds .odds span").text 
       print(bet.text) 
      except NoSuchElementException: 
       pass 
      time.sleep(7) 
      writer.writerow((bet, team_name, link)) 

아래

Traceback (most recent call last): 
    File "C:/Users/Bain3/PycharmProjects/untitled4/Bookmaker improved ALTERNATIVE.py", 
line 155, in <module> 
    print(bet.text) 
AttributeError: 'str' object has no attribute 'text' 

코드 또는 전체 코드 :

for section in sections: 
    try: 
     link = section.find_element_by_css_selector("h3 a").get_attribute("href") 
     print((link.get_attribute('href'))) 

뿐만 아니라 :

team_name = section.find_element_by_css_selector(".row:nth-child(1) td:nth-child(1)").text 
print(team_name.text) 

print(section.text) 작동하지만 인쇄하고 싶은 텍스트가 아닙니다. 어떤 아이디어?

+0

오류 – 0TTT0

+0

@ 0TTT0 HTTP 다시 전체 추적을 게시하시기 바랍니다 .com/d4ej7 – Tetora

+1

'bet = section.find ... (....). 텍스트'를 지정하고'bet.text'가 존재한다고 생각하십니까? –

답변

1

bet = section.find_element_by_css_selector(".odds .odds span").text은 이미 첫 번째 노드의 텍스트 값을 반환했습니다. 텍스트 값의 목록을 인쇄하려면

는, 당신은 find_elements 대신 다음과 같이 find_element의 사용해야합니다 // textuploader :

links = [link.get_attribute("href") for link in section.find_elements_by_css_selector("h3 a")] 
team_names = [team_name.text for team_name in section.find_elements_by_css_selector(".row:nth-child(1) td:nth-child(1)")] 
bets = [bet.text for bet in section.find_elements_by_css_selector(".odds .odds span")] 
writer.writerow(bets, team_names, links) 
+0

고마워요! csv가 제대로 보이지 않더라도 콘솔에서 올바르게 작동합니다. https://ibb.co/hm2YMR – Tetora

+1

업데이트 된 답변 확인. 예상대로 작동합니까? – Andersson

+0

거의 https://ibb.co/nCm7Fm – Tetora

0

team_name이 sth의 텍스트이면 print (team_name)이면 충분합니다.

+0

거의 없습니다. 그것은 나를 위해 하나의 텍스트를 인쇄합니다. 목록이 필요합니다. – Tetora

관련 문제