2013-06-03 9 views
24

Używam phantom.js na Windows 7 od dłuższego czasu (uważam, że v1.4.0 była pierwszą wersją, której użyłem) i wszystko było zawsze w porządku. Ale z jakiegoś powodu proces ten nie jest już poprawnie zakończony podczas wywoływania phantom.exit() i absolutnie nie wiem dlaczego.phantomjs exit() nie kończy procesu

Problem zaczął się w wersji 1.7.0, z dnia na dzień. Wszystko raz sprawdziło się w wersji 1.7.0, ale potem nic więcej. Nawet po aktualizacji do 1.8.0, a teraz 1.9.0 nadal nie działa. Konsola po prostu się zawiesza. Nie mogę niczego wpisać, phantomjs.exe nadal znajduje się na liście procesów w menedżerze zadań, nawet CTRL + C nic nie robi. Cała sprawa jest po prostu zamrożona.

Podkreślenie w konsoli miga tak, jakby oczekiwano więcej danych wejściowych, ale nie mogę niczego wpisać. Mam tylko jedną szansę na zamknięcie okna cmd za pomocą przycisku [X], który jest całkowicie głupi w przypadku testów automatycznych.

Używam prekompilowanych plików binarnych pobranych z http://phantomjs.org/ i jak już powiedziałem: przestało działać z dnia na dzień. Nawet go ponownie zainstalowałem kilka razy, nawet w różnych folderach, ale proces już się nie kończy. Ktoś, kto ma pojęcie, jaki może być problem?

phantom screenshot after calling phantom.exit()

+0

podać przykład w trybie REPL? czy to tylko w tym trybie? Zauważ, że od zespołu "jest to nowa funkcjonalność i jest ona zbudowana na wszelkiego rodzaju manipulacjach JavaScript: są błędy" – Cybermaxs

Odpowiedz

47

Jest to znany problem ze sterownikami Nvidia, gdy masz dwie karty. Aby rozwiązać ten problem, wybierz "Zaawansowany procesor NVidia" w panelu sterowania NVidia (Panel sterowania NVidia> Zarządzaj ustawieniami 3D> Ustawienia globalne).

Czytaj więcej tutaj: https://github.com/ariya/phantomjs/issues/10845

+1

Wow, to działa! Dziękuję Ci! Już od dłuższego czasu szukam rozwiązania! –

+9

W przypadku, gdy nie chcesz zmieniać ustawień globalnych, można to zrobić tylko dla phantomjs.exe przez (Panel sterowania NVidia> Zarządzaj ustawieniami 3D> Ustawienia programu) i wybierając phantomjs.exe jako program i wydajny procesor NVidia jako preferowany procesor graficzny. – Hisham

+0

Jesteś, po prostu uratowałeś mi ból głowy. Dziękuję Ci! –

Powiązane problemy