当我执行fallowing代码时,Ghost给了我这个错误:
from ghost import Ghost
from bs4 import BeautifulSoup
url = "https://wyszukiwarkaregon.stat.gov.pl/appBIR/index.aspx"
ghost = Ghost()
page, resources = ghost.open(url)
page, resources = ghost.evaluate(
"document.getElementById('btnNowaCaptcha').click();")
soup = BeautifulSoup(ghost.content)
capcha = soup.find(id='imgCaptch')
但是当我使用pdb并再次执行最后两行时,一切都很好。 有人知道为什么吗?
答案 0 :(得分:3)
我猜该页面尚未完全加载,因此document.getElementById('btnNowaCaptcha')
会返回null
;你应该添加
ghost.wait_for_page_loaded() # and/or
ghost.wait_for_selector("#btnNowaCaptcha")
在ghost.evaluate
之前确保页面已完全加载。