2017-02-08 7 views
0

У меня возникли некоторые проблемы с сделав скриншот и сохранить его в определенном месте файла:рубин Селен Скриншот к определенному местоположению файла

Я имеющий работать код, который сохраняет скриншот к первоначальному местоположение файла моего Рабочая область:

driver.save_screenshot ("screenshot.png")

Я хочу, чтобы иметь возможность сохранить этот скриншот в своей папке в моем C: // Имя пользователя // RubyTutori al // Скриншоты // Screenshot.png

C: // Имя пользователя // RubyTutorials - это уже существующий каталог, я бы хотел, чтобы код создавал папку «Скриншоты», а затем сохранял изображение в этой папке.

Как я могу это сделать?

Я пробовал: driver.save_screenshot ("C: //Username//RubyTutorial//Screenshots//Screenshot.png")

, но я получаю ошибки «Нет такого файла или каталог»

Я пробовал различные попытки переключая„//“на„/“,„\“и„\“

, но до сих пор не повезло.

Спасибо :)

+1

Если вы не хотите вручную создавать каталог скриншотов, вы можете использовать 'Dir :: mkdir' для его создания, а затем выполнить' .save_screenshot'. – orde

+1

Вы пытались использовать двойную обратную косую черту? Это \ экранировано с \, результатом чего является \\ ' – Cagy79

+0

@orde, есть ли у вас код примера для метода Mkdir? Я могу получить скриншоты, выводящиеся в уже созданную папку, но не могу создать папку, а затем сохранить снимок экрана в эту папку – OrdinaryKing

ответ

0

Вот простой, надуманный пример, демонстрирующий, как создать каталог перед сохранением картинки с помощью Dir::mkdir:

Dir.mkdir "C:\\screenshots" 
driver.save_screenshot "C:\\screenshots\\Screenshot.png" 

Как @ Cagy79 указывает, вы должны спасаясь от обратная косая черта с двойной обратной косой чертой.

Кроме того, имейте в виду, что при создании каталога возникнет ошибка, поэтому вы можете проверить ее (например, Dir.mkdir("C:\\screenshots") unless Dir.exist?("C:\\screenshots")). И взгляните на документацию. В классе Dir есть много, что облегчит вам жизнь.