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']
タイトルを編集して、あなたの質問が何であるかを明確にしてください。あなたのタイトルはあまりにも一般的です – user919426
コールスタックの22行目は、このコード行を参照しているようです。最初の.set()メソッドは 'originairport_field.set(originairport)'です。あなたは 'sess.at_xpath()'メソッドから返されるものと、 'set()'が利用可能な属性であるべきかどうかを二重チェックしましたか? –