Je courais le code ci-dessous que sa prise de la capture d'écran comme prévuWebDriver attend pas travailler avec PhantomJS tout en travaillant correctement avec chromedriver
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
driver=webdriver.Chrome()
driver.get("https://app.wisemapping.com/c/maps/579829/public")
WebDriverWait(driver,10).until(EC.presence_of_element_located((By.CSS_SELECTOR, "#workspaceContainer > svg > [preserveAspectRatio]")))
]
driver.save_screenshot('screen.png')
driver.quit()
mais quand je me sers PhantomJS son échec
dcap = dict(DesiredCapabilities.PHANTOMJS)
dcap["phantomjs.page.settings.userAgent"] = ('Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.22564.0 Safari/537.36')
driver = webdriver.PhantomJS(desired_capabilities=dcap,service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any','--web-security=false'])
driver.get("https://app.wisemapping.com/c/maps/579829/public")
WebDriverWait(driver,10).until(EC.presence_of_element_located((By.CSS_SELECTOR, "#workspaceContainer > svg > [preserveAspectRatio]")))
]
driver.save_screenshot('screen.png')
driver.quit()
l'erreur est son don
Traceback (most recent call last):
File "C:/Users/HelloWorld.py", line 24, in <module>
WebDriverWait(driver,10).until(EC.presence_of_element_located((By.CSS_SELECTOR, "#workspaceContainer > svg > [preserveAspectRatio]")))
File "C:\Python27\lib\site-packages\selenium\webdriver\support\wait.py", line 80, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Screenshot: available via screen
Si je prends attendre & capture d'écran i n essayez sauf bloc que sa prise d'écran de la page mais l'élément qui est en attente ne vient pas. Même si j'augmente délai d'attente de 30 secondes sa ne fonctionne pas
J'utilise Sélénium 3.4 et python 2.7.13, PhantomJS 2.1
Je pense que cela est un problème de PhantomJS systémique: il est tout simplement pas le rendu la page et/ou les éléments SVG correctement. –
J'ai des problèmes similaires lors de l'exécution de ma suite de tests avec phantomjs au lieu de chrome. Dans mon cas, ce délai expire aussi sur une simple demande driver.get (...). Mais je reçois cette erreur uniquement sur Ubuntu. Sur les fenêtres ça fonctionne bien. Étrange ... – powerpete
Avez-vous trouvé quelque chose? – powerpete