J'essaie de tester firefox sans tête en utilisant Selenium et le code ci-dessous donne un résultat correct.Test firefox sans tête utilisant du sélénium mais il lance une erreur
From a fresh Ubuntu 14.04 install I did the following
sudo apt-get install python-pip firefox xvfb
pip install selenium pyvirtualdisplay
useradd testuser
And then in a python shell:
from selenium import webdriver
from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 600))
display.start()
driver = webdriver.Firefox()
driver.get("http://askubuntu.com")
print driver.page_source.encode('utf-8')
driver.quit()
display.stop()
Mais si l'outil la même fonctionnalité en utilisant un class
en Django test.py
il ne fonctionne pas et lancer une erreur.
class FirefoxHeadlessTestCase(LiveServerTestCase):
def setUp(self):
# start display
self.display = Display(visible=0, size=(1024, 768))
self.display.start()
# start browser
self.driver = webdriver.Firefox()
def tearDown(self):
# stop browser
self.driver.quit()
super(FirefoxHeadlessTestCase, self).tearDown()
# stop display
self.display.stop()
# check if this test should be skipped
def test_example(self):
# run tests
print self.driver.get("http://askubuntu.com").page_source.encode('utf-8')
Error:
print self.driver.get("http://askubuntu.com").page_source.encode('utf-8') AttributeError: 'NoneType' object has no attribute 'page_source'
Toute personne a une idée où je me trompe ici?
si 'driver.get (" http://askubuntu.com ")' renvoie tout le contenu html pour lequel le même code dans Django ne retourne rien? Je ne pense pas que le problème enchaîne depuis que j'ai déjà essayé la méthode que vous m'avez suggérée. – python
Selon la documentation, le pilote firefox .get ne renvoie rien. None est ce que vous obtenez et self.driver.get ("http://askubuntu.com") .page_source.encode ('utf-8') est égal à None.page_source.encode ('utf-8') – e4c5
Thank vous, le problème est résolu maintenant – python