2016-08-16 1 views
1

나는 양식을 제출하고 일부 데이터를 dryscrape와 를 검색하기 위해 노력하고 있지만이 프로그램을 실행할 때, 나는 오류 얻을 :Dryscrape 양식 및 스크래핑 문제

Traceback (most recent call last): 
    File "easyjettest.py", line 22, in <module> 
    originairport_field.set(originairport) 
AttributeError: 'NoneType' object has no attribute 'set' 

정말 무엇인지 알아낼 수 없습니다를 문제. 나는 온라인에서 할 수있는만큼 문서를 읽고 검색했습니다. 오류가 아마 변수 originairport_field, destinationairport_field, odate_field, rdate_field 중, adults_field가 할당 아무도 일어나고되지 않은 줄을하는

import dryscrape 
import sys 

if 'linux' in sys.platform: 
    # start xvfb in case no X is running. Make sure xvfb 
    # is installed, otherwise this won't work! 
    dryscrape.start_xvfb() 

originairport = 'Cyprus (Larnaca) LCA' 
destinationairport = 'London Gatwick LGW' 
odate = '16/08/2016' 
adate = '18/08/2016' 
adults = '1' 

sess = dryscrape.Session(base_url = 'http://www.easyjet.com/en/') 

sess.set_attribute('auto_load_images', False) 

sess.visit('/') 

originairport_field = sess.at_xpath('.//*[@id="acOriginAirport"]') 
originairport_field.set(originairport) 
destinationairport_field = sess.at_xpath('.//*   [@id="acDestinationAirport"]') 
destinationairport_field.set(destinationairport) 
odate_field = sess.at_xpath('.//*[@id="oDate"]') 
odate_field.set(odate) 
rdate_field = session.at_xpath('.//*[@id="rDate"]') 
rdate_field.set(rdate) 
adults_field = session.at_xpath('.//*[@id="numberOfAdults"]') 
adults_field.set(adults) 
originairport_field.form().submit() 

# extract all links 
for link in session.xpath('//a[@href]'): 
    print link['href'] 
+0

귀하의 질문이 무엇인지에 대해 명확히 밝혀 지도록 제목을 편집하십시오. 귀하의 제목이 너무 일반 – user919426

+0

콜 스택의 22 번째 줄은 .set() 메소드가있는 첫 번째 코드 인 'originairport_field.set (originairport)'입니다. 'sess.at_xpath()'메쏘드에서 반환되는 것을 두 번 체크해 보았고,'set()'이 사용 가능한 속성인지를 확인 했습니까? –

답변

1

확인 :

코드는 다음과 같다.

session은 어디에서 값을 rdate_fieldadults_field으로 설정 했습니까? 업데이트 된 오류 정보에서

아무것도 반환 아마 sess.at_xpath('.//*[@id="acOriginAirport"]') 밤은 : 그 sess

편집 밤은.