Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Ошибка при создании PhantomJSDriver Selenium Java / 5 сообщений из 5, страница 1 из 1
18.07.2017, 13:04
    #39490727
Tsyklop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при создании PhantomJSDriver Selenium Java
Хочу сделать скриншот сайта. Использую `phantomjs`. Запускаю в отдельном потоке.
Но тут `WebDriver driver = new PhantomJSDriver();` возникает ошибка:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
Unable to open file '/var/lib/tomcat8/phantomjsdriver.log'
    
      phantomjs://platform/fs.js:79 in open
      phantomjs://platform/logger.js:95 in addLogFile
      phantomjs://platform/config.js:76 in apply
      phantomjs://platform/config.js:98 in init
    {"chats":0}
    Exception in thread "pool-1-thread-1" org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
    Build info: version: '3.3.1', revision: '5234b32', time: '2017-03-10 09:04:52 -0800'
    System info: host: 'vps429624', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-83-generic', java.version: '1.8.0_131'
    Driver info: driver.version: PhantomJSDriver
    	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:625)
    	at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:244)
    	at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
    	at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144)
    	at org.openqa.selenium.phantomjs.PhantomJSDriver.<init>(PhantomJSDriver.java:116)
    	at org.openqa.selenium.phantomjs.PhantomJSDriver.<init>(PhantomJSDriver.java:105)
    	at org.openqa.selenium.phantomjs.PhantomJSDriver.<init>(PhantomJSDriver.java:95)
    	at com.online.utils.Screenshot.run(Screenshot.java:32)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    	at java.lang.Thread.run(Thread.java:748)
    Caused by: java.lang.IllegalStateException: The process has not exited yet therefore no result is available ...
    	at org.apache.commons.exec.DefaultExecuteResultHandler.getException(DefaultExecuteResultHandler.java:76)
    	at org.openqa.selenium.os.UnixProcess.checkForError(UnixProcess.java:174)
    	at org.openqa.selenium.os.CommandLine.checkForError(CommandLine.java:183)
    	at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:179)
    	at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:168)
    	at org.openqa.selenium.phantomjs.PhantomJSCommandExecutor.execute(PhantomJSCommandExecutor.java:78)
    	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:604)
    	... 10 more




КОД.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
System.setProperty("phantomjs.binary.path", PATH);
    
    ExecutorService executor = Executors.newSingleThreadExecutor();
    executor.execute(new Screenshot(URL, FILE));

    public class Screenshot extends Thread {
    
        private String URL;
        private File OUTPUT;
    
        public Screenshot(String url, File output) {
            this.URL = url;
            this.OUTPUT = output;
        }
    
        @Override
        public void run() {
            try {
                WebDriver driver = new PhantomJSDriver();
                driver.manage().window().setSize(Online.SCREEN_SIZE);
                driver.get(this.URL);
                //FileUtils.copyFile(((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE), new File(IMAGE + SEPARATOR + IMAGE_NAME));
                FileUtils.copyFile(((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE), this.OUTPUT);
                driver.quit();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
    }
...
Рейтинг: 0 / 0
18.07.2017, 13:37
    #39490771
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при создании PhantomJSDriver Selenium Java
Tsyklop,

Код: java
1.
Unable to open file '/var/lib/tomcat8/phantomjsdriver.log'


Нет прав писать в корень томката?
...
Рейтинг: 0 / 0
18.07.2017, 13:57
    #39490795
Tsyklop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при создании PhantomJSDriver Selenium Java
Blazkowicz,

Он сам туда пишет. я не создаю этот лог.
...
Рейтинг: 0 / 0
18.07.2017, 14:05
    #39490804
Tsyklop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при создании PhantomJSDriver Selenium Java
Blazkowicz, И всё таки Вы были правы. Он падал из-за того что не мог записать в лог файл.
...
Рейтинг: 0 / 0
18.07.2017, 14:18
    #39490820
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при создании PhantomJSDriver Selenium Java
TsyklopОн сам туда пишет. я не создаю этот лог.
Небо синее, а вода мокрая.
--webdriver-logfile попробуйте указать в то место куда права на запись есть. Например System.getProperty("java.io.tmpdir")
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Ошибка при создании PhantomJSDriver Selenium Java / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]