2015-09-24 2 views
3

Я пытаюсь выполнить базовое тестирование с помощью Python + Splinter + Selenium + PhantomJS, но я не могу запустить браузер phantomjs. (Драйверы Chrome & Firefox отлично работает, хотя.) Когда я бегу:Сплиттер Selenium Phantomjs Драйвер с ошибкой при создании экземпляра

from splinter import Browser 

b = Browser('phantomjs') 

Я получаю ошибку:

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/Library/Python/2.7/site-packages/splinter/browser.py", line 63, in Browser 
    return driver(*args, **kwargs) 
    File "/Library/Python/2.7/site-packages/splinter/driver/webdriver/phantomjs.py", line 32, in __init__ 
    self.driver = PhantomJS(desired_capabilities=capabilities, **kwargs) 
    File "/Library/Python/2.7/site-packages/selenium/webdriver/phantomjs/webdriver.py", line 56, in __init__ 
    desired_capabilities=desired_capabilities) 
    File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 87, in __init__ 
    self.start_session(desired_capabilities, browser_profile) 
    File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 141, in start_session 
    'desiredCapabilities': desired_capabilities, 
    File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 199, in execute 
    response = self.command_executor.execute(driver_command, params) 
    File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/remote_connection.py", line 395, in execute 
    return self._request(command_info[0], url, body=data) 
    File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/remote_connection.py", line 463, in _request 
    resp = opener.open(request, timeout=self._timeout) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 431, in open 
    response = self._open(req, data) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 449, in _open 
    '_open', req) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 409, in _call_chain 
    result = func(*args) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 1227, in http_open 
    return self.do_open(httplib.HTTPConnection, req) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 1197, in do_open 
    raise URLError(err) 
urllib2.URLError: <urlopen error [Errno 8] nodename nor servname provided, or not known> 

Кроме того, когда я бегу:

from selenium import webdriver 

d = webdriver.PhantomJS() 

я получаю по существу такая же ошибка.

Похоже, что PhantomJS использует драйвер Remote для подключения к удаленному серверу, но осколок не запускает сервер Selenium (?) Для подключения PhantomJS. Я бы не прочь войти в исходный код splinter (?) И изменить несколько вещей, чтобы сделать эту работу. Однако я не могу точно определить, что бы решить это.

Или, нужно ли вручную запустить сервер для подключения PhantomJS?

(Как ссылка, Ruby + Cucumber + Capybara + Poltergeist отлично работает на моей коробке.) Вот конфигурация моего программного обеспечения.

$ python --version 
Python 2.7.10 

$ pip show splinter | grep Version 
Metadata-Version: 1.1 
Version: 0.7.3 

$ pip show selenium | grep Version 
Metadata-Version: 2.0 
Version: 2.47.3 

$ phantomjs -v 
2.0.0 

$ sw_vers 
ProductName: Mac OS X 
ProductVersion: 10.10.5 
BuildVersion: 14F27 
+1

Просто сделайте следующие изменения в своей первой строке. Фактический ответ отсюда: http://stackoverflow.com/questions/35262150/browser-in-python-shows-errors-in-idle/35288612 from splinter.browser import Браузер –

ответ

0

Просто хочу поделиться этим phantomjs + splinter работать хорошо со следующей конфигурацией на моей машине:

~ $ python --version 
Python 2.7.11 

~ $ pip show splinter | grep Version 
Metadata-Version: 1.1 
Version: 0.7.3 

~ $ pip show selenium | grep Version 
Metadata-Version: 2.0 
Version: 2.47.3 

~ $ phantomjs -v 
2.0.0 

~ $ sw_vers 
ProductName: Mac OS X 
ProductVersion: 10.11 
BuildVersion: 15A284 
0

У меня такая же ошибка. Затем я проверяю свой/etc/hosts и удаляет ненужный псевдоним localhost. И все работают. Проверьте/etc/hosts

+0

см. Руководство Stackoverflow, как ответить на вопрос. –

Смежные вопросы