Python Grattage JavaScript à l'aide de Sélénium et de la Belle Soupe

Je suis en train de gratter un JavaScript permet de page à l'aide de BS et de Sélénium.
J'ai le code suivant jusqu'à présent. Elle n'est pas toujours d'une certaine manière de détecter le JavaScript (et renvoie une valeur null). Dans ce cas, je suis en train de gratter le Facebook des commentaires dans le bas. (Inspecter l'élément montre que la classe postText)

Merci pour l'aide!

from selenium import webdriver  
from selenium.common.exceptions import NoSuchElementException  
from selenium.webdriver.common.keys import Keys  
import BeautifulSoup

browser = webdriver.Firefox()  
browser.get('http://techcrunch.com/2012/05/15/facebook-lightbox/')  
html_source = browser.page_source  
browser.quit()

soup = BeautifulSoup.BeautifulSoup(html_source)  
comments = soup("div", {"class":"postText"})  
print comments
Vous pouvez essayer le réglage d'une attente sur la page que vous êtes susceptible de sortir avant que la page a le temps de se charger complètement (rappelez-vous, il est juste comme un navigateur et d'expériences de latence). Dans votre cas, vous pourrait probablement résoudre par un peu d'attente pour une certaine période de temps, mais la solution la plus élégante(s) peut être trouvé à l'adresse seleniumhq.org/docs/04_webdriver_advanced.jsp#implicit-waits
Je ne suis pas trop sûr si l'attente a la question, comme je l'ai enlevé navigateur.quit() et exécuté le programme. Il n'y a pas de chance.
Le problème est en fait la ligne avant - c'est le chargement de page_source avant il n'y a aucune source à charger 🙂

OriginalL'auteur Jay Setti | 2013-01-25