पायथन / सेलेनियम / फैंटमजेएस: "भूत प्रेत के साथ प्रेत शुरू करने में असमर्थ।"


15

मैं एक मशीन पर प्रेत का उपयोग करने के लिए सेलेनियम प्राप्त करने की कोशिश कर रहा हूं। मेरा कोड बिना किसी त्रुटि के संकलित है:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
import cookielib
import re
from splinter import Browser

driver = webdriver.PhantomJS('C:/Program Files (x86)/phantomjs-1.9.2-windows')

लेकिन हर बार जब मैं इसे चलाता हूं तो मुझे त्रुटि मिलती है

Traceback (most recent call last):
  File "E:/~PROJECT/disinfo/py/bs.py", line 8, in <module>
    driver = webdriver.PhantomJS('C:/Program Files (x86)/phantomjs-1.9.2-windows')
  File "C:\Python27\lib\site-packages\selenium\webdriver\phantomjs\webdriver.py", line 50, in __init__
    self.service.start()
  File "C:\Python27\lib\site-packages\selenium\webdriver\phantomjs\service.py", line 63, in start
    raise WebDriverException("Unable to start phantomjs with ghostdriver.", e)
selenium.common.exceptions.WebDriverException: Message: 'Unable to start phantomjs with ghostdriver.' ; Screenshot: available via screen 

मुझे यह त्रुटि घंटों से मिल रही है। "भूत प्रेत के साथ प्रेत शुरू करने में असमर्थ"। ऑनलाइन सबसे सरल उदाहरण पीआईपी के साथ सेलेनियम स्थापित करना और फिर एनओडीजेएस एनपीएम के साथ फैंटमज को दिखाना है, जो कि मैंने इसे कैसे किया। सेलेनियम का स्थान मेरे PYTHONPATH में भी है। मुझे स्पष्ट रूप से पता नहीं है कि यह बात मुझसे क्या चाहती है। कोई विचार?


बुनियादी कोड पर समान मुद्दे जो एक बार काम करते हैं, मुझे लगता है कि मैंने पहली बार अपने अजगर संरचना को तोड़ दिया था।
शेन

1
वेल्ड, ऐसा लगता है कि प्रेत देवों ने स्वीकार किया है कि अजगर बाँधने के पीछे हैं। github.com/detro/ghostdriver/issues/236 फैंटमज का उपयोग करने के लिए बहुत कुछ। काश मुझे पता होता कि इससे पहले कि मैं कई **** घंटे बिताता, जीवन के लिए प्रेत को गिराने की कोशिश कर रहा था।
अमलगोविनस

1
यहाँ भी वही भावनाएँ। जब तक वे एक बड़े समुदाय द्वारा बनाए नहीं रखे जाते हैं तब तक कोड और पुस्तकालयों को सीखना इतना महत्वपूर्ण क्यों है। आप कभी भी एक आदमी से अपनी परियोजना को बनाए रखने की उम्मीद नहीं कर सकते हैं, खासकर अगर वह कड़ी मेहनत के पैसे नहीं कमा रहा है।
शेन

जवाबों:


19

मैं उसी मुद्दे में भाग गया। मुझे exe को पूर्ण पथ प्रदान करने की आवश्यकता है, जैसा कि प्रलेखन में वर्णित है :

from selenium import webdriver
driver = webdriver.PhantomJS(executable_path='C:\phantomjs-1.9.2\phantomjs.exe')

यह वास्तव में यह बाहर डायल करने की अनुमति दी, हुर्रे। अब एक ही समस्या है, हर वह तत्व जिसे मैं प्रिंट करने की कोशिश करता हूं, यह मुझे सिर्फ "selenium.webdriver.phantomjs.webdriver.WebDriver ऑब्जेक्ट 0x0000000002F54668" या एक यूनिकोड आईडी देता है। मैं इसके बजाय लोरियन ग्रैब की सलाह देता हूं। bitbucket.org/lorien/grab/src/…
Amalgovinus

सच्ची कहानी!! काश मैं 5 बार उत्थान कर पाता।
नमस्ते डब्ल्यूडब्ल्यू

मेरे लिए काम नहीं किया ... मुझे DT_Lvhyy के उत्तर के अनुसार service.py को एडिट करना पड़ा।
दीप-बी

यह उबंटू और लिनक्स सिस्टम के लिए लग रहा है, ~ रूट से डायरेक्टरी तक वास्तविक रास्ता होना चाहिए
डेलोस चांग

2

आपको संशोधित करने की आवश्यकता है ...\Python27\Lib\site-packages\selenium-2.39.0-py2.7.egg\selenium\webdriver\phantomjs\service.py

यह Google कोड पृष्ठ मदद करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.