Вызов скрипта Selenium Python из переполнения стека

Я пытаюсь вызвать скрипт PHP Selenium Webdriver из PHP, и я получаю следующую ошибку:

«Traceback (последний вызов был последним): файл« seltest.py », строка 12, в файле setUp self.driver = webdriver.Firefox ()» /usr/local/lib/python2.7/dist-packages/selenium/webdriver /firefox/webdriver.py «, строка 59, в в этом self.binary, timeout), файл «/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/extension_connection.py», строка 47, в в этом Файл self.binary.launch_browser (self.profile) «/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py», строка 64, в файле launch_browser self._wait_until_connectable () /usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py «, строка 103, в _wait_until_connectable self._get_firefox_output ()) WebDriverException: Сообщение:« Похоже, что браузер завершился до того, как мы мог подключиться. Вывод был: «Нет»

Скрипт python прекрасно работает при запуске из командной строки.

Содержание test.php:

        <?php
$test = `python seltest.py 2>&1`;
var_dump ($test);
?>

Содержание seltest.py:

    #! /usr/bin/python
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
import unittest, time, re

class Seltext(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
self.base_url = "https://www.google.com/"self.verificationErrors = []
self.accept_next_alert = True

def test_seltext(self):
driver = self.driver
driver.get(self.base_url + "/?gws_rd=ssl")
driver.find_element_by_id("gbqfq").clear()
driver.find_element_by_id("gbqfq").send_keys("what is selenium webdriver")
driver.find_element_by_id("gbqfb").click()

def is_element_present(self, how, what):
try: self.driver.find_element(by=how, value=what)
except NoSuchElementException, e: return False
return True

def is_alert_present(self):
try: self.driver.switch_to_alert()
except NoAlertPresentException, e: return False
return True

def close_alert_and_get_its_text(self):
try:
alert = self.driver.switch_to_alert()
alert_text = alert.text
if self.accept_next_alert:
alert.accept()
else:
alert.dismiss()
return alert_text
finally: self.accept_next_alert = True

def tearDown(self):
self.driver.quit()
self.assertEqual([], self.verificationErrors)

if __name__ == "__main__":
unittest.main()

Я все готово подтвердил, что пользователь для веб-сервера имеет разрешение на запуск скрипта Python. Я даже пытался запустить веб-сервер в качестве своего пользователя и группы, но мне все равно не повезло.

Я запускаю это на Ubuntu 12.04 с Apache 2.2.22, PHP 5.3.10-1ubuntu3.14, Selenium 2.43.0 и Python 2.7.3.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]