Коллеги, добрый день!
Есть вопрос, есть приложение которое необходимо мониторить. Написал скрипт на python с иcпользованием selenium. На моей локальной машине все запускается нормально (запускал для отладки в pycharm, тест проходит.
При запуске на сервере без Х не работает. Валится при логине в систему (сделал скрин в момент возникновения ошибки).
Вот часть скрипта
# -*- coding: utf-8 -*- from pyvirtualdisplay import Display display = Display(visible=0, size=(800, 600)) display.start() from selenium import webdriver from selenium.webdriver import FirefoxProfile from selenium.webdriver.firefox.firefox_profile import FirefoxProfile from selenium.webdriver.common.by import By from selenium.common.exceptions import TimeoutException from selenium.webdriver.common.keys import Keys from selenium.webdriver.firefox.webdriver import WebDriver from selenium.webdriver.support.ui import Select from selenium.common.exceptions import NoSuchElementException from selenium.common.exceptions import NoAlertPresentException from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import unittest, time, re, logging, os from selenium.webdriver.common.desired_capabilities import DesiredCapabilities cap = DesiredCapabilities.FIREFOX cap["unexpectedAlertBehaviour"] = "accept" profile = webdriver.FirefoxProfile() profile.set_preference("plugin.state.flash", 2) profile.set_preference("dom.ipc.plugins.enabled.libflashplayer.so","true") ##LOGIN SITE driver = webdriver.Firefox(profile) log_callisto = open("log.log", "w") driver.get("http://10.168.204.72:8080/") try: elemLogin = WebDriverWait (driver, 10).until( EC.presence_of_element_located((By.ID, "login")) ) elemLogin.send_keys("guest") driver.find_element_by_id("password").send_keys("Qwerty123") driver.find_element_by_id("submitter").click() except TimeoutException: log_callisto.write("ERROR: Not login") driver.quit() # print("ERROR: Not login", log_log.tell()) time.sleep(5) driver.switch_to.frame('menu')
Прошу посоветовать как правильно включить flash player.
Используются:
Mozilla Firefox 59.0
selenium (3.11.0)
gecokdriver 0.20