2016-04-01 16 views
0

java .app üzerindeki Phantomjs sürücüsü başlatılamadı.Yüklenemedi: phantoms sürücüsü başlatılır Java üzerinde bir uygulama yaratmış. OS0

My programı başarıyla aşağıdaki çizgilerle Tutulma başlatılan phantomjs sürücüsü oluşturur:

DesiredCapabilities desireCaps = new DesiredCapabilities(); 
desireCaps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, directory + "/phantomjs"); 
desireCaps.setCapability("phantomjs.cli.args", Collections.singletonList("--ignore-ssl-errors=true")); 
desireCaps.setCapability("phantomjs.page.settings.userAgent", "Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0"); 
driver = new PhantomJSDriver(desireCaps); 

ben gibi bir .APP oluşturuldu:

enter image description here

burada "MainJar.jar" eclipse tarafından oluşturulan bir küpdür, "başlatıcısı" temelde java -jar MainJar.app olan toplu iştir ve "phantomjs" resmi yürütülebilir selenyum phantomjs'dir. Ben ".APP" uygulamayı başlattığınızda

, ben driver = new PhantomJSDriver(desireCaps); aşağıdaki hatayı alıyorum:

yeni bir oturum başlatılamadı. Olası nedenler uzak sunucunun geçersiz adresi veya tarayıcı başlatma hatasıdır. Yapı bilgisi: sürüm: 'unknown', revizyon: 'unknown', süre: 'unknown' Sistem bilgisi: host: 'Air-de-Me', ip: 'XXX.XXX.X.XX', os.name : 'Mac OS X', os.arch: 'x86_64', os.version: '10 .10.5' , java.version: '1.8.0_73' Sürücü bilgisi: driver.version: PhantomJSDriver

Ancak Uygulamayı "başlatıcı" komut dosyasını başlatarak çalıştırdığımda, uygulama başarıyla sürücüyü oluşturur. Benim ilk olsa da "yanlış" ayarlanmış çünkü "app" phantomjs sürücüsü bulamadı, ancak günlüğümde (phantomjs_file).exists(); basılmış ve doğru bulur.

Uygulamamın içindeki her bir dosyada ve uygulamanın kendisini izin hataları hariç tutmak için chmod 777 ile kendi haklarını belirledim.

Tarayıcının başlatılamamasının bir nedeni var mı?

Herhangi bir yardım büyük bir memnuniyetle karşılanacaktır.

cevap

1

Sorunumun cevabını buldum. Sorun, phantomjs ".app" 'dan çalıştırıldığında kendi günlük dosyasını yazma izinlerini alamadı.

Ben phantomjs-log writting devre dışı bırakmak için bir yol (benim için çalıştı tek yolu), bulduk

:

driver = new PhantomJSDriver(new PhantomJSDriverService.Builder() 
     .usingPhantomJSExecutable(new File("PATH_TO_EXECUTABLE")) 
     .withLogFile(null).build(), 
     desireCaps); 
İlgili konular