2016-08-16 124 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' 

我實在想不通是什麼問題。我已閱讀文檔並儘可能在網上搜索。

的代碼如下:

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

callstack中的第22行似乎涉及這一行代碼,第一行使用.set()方法:'originairport_field.set(originairport)'。你有沒有仔細檢查從'sess.at_xpath()'方法返回的內容,以及'set()'是否應該是一個可用的屬性? –

回答

1

入住哪一行錯誤正在發生,可能是任何變量originairport_fielddestinationairport_fieldodate_fieldrdate_field的,adults_field分配沒有。

順便說一下,從哪裏設置rdate_fieldadults_field的值來自哪裏session來自哪裏?心不是說sess

編輯:

從更新後的錯誤信息可能sess.at_xpath('.//*[@id="acOriginAirport"]')心不是返回任何東西。