selenium.common.exceptions.WebDriverException: Сообщение: «Не удается подключиться к GhostDriver»

Я пытаюсь бежатьPhantomJS изнутриselenium.webdriver на сервере Centos. PhantomJS находится в пути и работает правильно с терминала. Однако в сценарии он, кажется, запускается, но впоследствии не может быть достигнут по указанному порту (я пробовал 2 разных открытых порта от моего провайдера 29842 и 60099, они оба не работают и не запускают его без указанного порта).

Ошибка происходит здесь, вselenium.webdriver.common.utils:

try:
    socket_ = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    socket_.settimeout(1)
    socket_.connect(("localhost", port))
    socket_.close()
    return True
except socket.error:
    return False

Это из моего скрипта (я пробовал без каких-либо параметров, а также записал полный путь к исполняемому файлу, и ни один не работал):

self.browser = webdriver.PhantomJS(
            port=29842,
            desired_capabilities={
                'javascriptEnabled': True,
                'platform': 'windows',
                'browserName': 'Mozilla',
                'version': '5.0',
                'phantomjs.page.settings.userAgent': "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36"
            }
        )

И этот скрипт, который инициализирует веб-драйвер изselenium.webdriver.phantomjs.service, Я проверил иsubprocess.Popen фактически запускает phantomjs, ошибка происходит в цикле while:

    try:
        self.process = subprocess.Popen(self.service_args,
                                        stdout=self._log, stderr=self._log)

    except Exception as e:
        raise WebDriverException("Unable to start phantomjs with ghostdriver.", e)

    count = 0
    while not utils.is_connectable(self.port):
        print utils.is_connectable(self.port)
        count += 1
        time.sleep(1)
        if count == 30:
             raise WebDriverException("Can not connect to GhostDriver")

Все пакеты являются последней версией: Python 2.7, Selen 2 и Phantomjs 1.9 двоичный с интегрированным Ghostdriver. Я заставил тот же сценарий работать должным образом на моем локальном компьютере с Ubuntu, выполняя те же действия, что и на сервере. Чем отличается на сервере?

Ответы на вопрос(5)

Ваш ответ на вопрос