C'est une histoire maintenant.
Je veux la largeur (px) de la div. Vous pouvez facilement l'obtenir du côté du navigateur en utilisant JS, mais cette fois je le veux du côté du serveur. Puisqu'il s'agit de la largeur du div, cela peut être décidé après le rendu. Donc, effectuez le rendu côté serveur. J'avais l'habitude de faire quelque chose avec Selenium en mettant Firefox sur le serveur, mais quand j'ai installé Firefox, j'avais une mauvaise mémoire autour de l'écran, donc cette fois j'ai essayé d'utiliser PhantomJS comme navigateur.
http://phantomjs.org/
PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG.
C'est vrai. incroyable.
Construisez PhantomJS comme ça
http://phantomjs.org/build.html
Peut-être parce que le serveur était cette fois CentOS5, cela n'a pas fonctionné, et je l'ai changé en git checkout 1.9
et tout s'est bien passé. Je suis pressé, alors ça va pour le moment ...
Ensuite, je veux frapper ceci depuis Selenium
pip install selenium
from selenium import webdriver
url = 'http://hoge'
driver = webdriver.PhantomJS()
driver.get(url)
e = driver.find_element_by_xpath("//*[@class='hoge']")
print(e.size)
>>> {'width': 602, 'height': 2098}
Cela a l'air bien parce que c'était le résultat d'affichage sur mon Chrome. La fin
Recommended Posts