L'exécution de Javascript sur le Sélénium/PhantomJS
Je suis en utilisant PhantomJS
via Selenium Webdriver en Python et je suis en train d'exécuter un morceau de code JavaScript sur la page dans l'espoir de revenir un morceau de données:
from selenium import webdriver
driver = webdriver.PhantomJS("phantomjs.cmd") # or add to your PATH
driver.set_window_size(1024, 768) # optional
driver.get('http://google.com') # EXAMPLE, not actual URL
driver.save_screenshot('screen.png') # save a screenshot to disk
jsres = driver.execute('$("#list").DataTable().data()')
print(jsres)
Toutefois, lorsqu'il est exécuté, il signale KeyError
. J'ai été incapable de trouver beaucoup de documentation sur les commandes disponibles, donc je suis un peu coincé ici.
OriginalL'auteur Ryan | 2015-05-28
Vous devez vous connecter pour publier un commentaire.
La méthode créée pour l'exécution de javascript est appelée
execute_script()
, pasexecute()
:Pour info,
execute()
est utilisé en interne pour l'envoi de webdriver commandes.Notez que si vous voulez quelque chose retourné par le code javascript, vous devez utiliser
return
.Également de noter que ceci peut jeter
Can't find variable: $
message d'erreur. Dans ce cas, recherchez l'élément avecselenium
et la passer dans le script:OriginalL'auteur alecxe