Python / Selenium / PhantomJS:“ ไม่สามารถเริ่ม phantomjs ด้วย ghostdriver ได้”


15

ฉันพยายามให้เซเลนเนียมใช้ phantomjs บนเครื่อง Windows รหัสของฉันรวบรวมโดยไม่มีข้อผิดพลาด:

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 

ฉันได้รับข้อผิดพลาดนี้เป็นเวลาหลายชั่วโมง "ไม่สามารถเริ่ม phantomjs ด้วย ghostdriver" ตัวอย่างที่ง่ายที่สุดในการออนไลน์แสดงการติดตั้งซีลีเนียมด้วย PIP แล้ว phantomjs กับ NodeJS NPM ซึ่งเป็นวิธีที่ฉันทำ ตำแหน่งของซีลีเนียมอยู่ใน PYTHONPATH ของฉันเช่นกัน ฉันไม่ทราบเลยว่าสิ่งที่นรกต้องการจากฉันคืออะไร ความคิดใด ๆ


ปัญหาเดียวกันกับรหัสพื้นฐานที่เคยทำงานฉันคิดว่าฉันทำลายโครงสร้างหลามในตอนแรก
เชน

1
Welp ดูเหมือนว่า dev ของ phantomjs ยอมรับว่าการผูก python นั้นอยู่เบื้องหลัง github.com/detro/ghostdriver/issues/236มากสำหรับการใช้ phantomjs หวังว่าฉันจะได้รู้ว่าก่อนที่ฉันจะใช้เวลาหลายชั่วโมงในการต่อสู้กับแฟนทอมเพื่อชีวิต
Amalgovinus

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" หรือรหัส Unicode ฉันแนะนำ Lorien's Grab แทน bitbucket.org/lorien/grab/src/…
Amalgovinus

เรื่องจริง!! หวังว่าฉันจะโหวตได้ 5 ครั้ง
HelloW

ไม่ได้ผลสำหรับฉัน ... ฉันต้องแก้ไข service.py ตามคำตอบของ DT_Lvhyy
Deep-B

ดูเหมือนว่าสำหรับระบบ Ubuntu และ Linux ~ ควรเป็นเส้นทางที่แท้จริงจากรูทไปยังไดเรกทอรี
Delos Chang

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.