Member 13126313 Ответов: 1

Даже после импорта необходимых jar файлов я получаю ошибку в нижеприведенных двух строках кода


пакет tenis2;

импорт Java.Ио.Исключение IOException;
импорт Java.утиль.одновременно.Timeunit / единицы;

импорт орг."Апач".общин.Ио.Пакета fileutils;
импорт орг.openqa.селен.В разделе outputtype;
импорт орг.openqa.селен.TakesScreenshot;
импорт орг.openqa.селен.WebDriver;
импорт орг.openqa.селен.хром.ChromeDriver;

скриншот публичного класса {
public static void main (String[] args)вызывает исключение IOException{

Драйвер WebDriver = новый ChromeDriver();
водитель.управления().тайм-ауты().implicitlyWait(60, timeunit / единицы.СЕКУНД);
водитель.сделать("http://www.flipkart.com/");
водитель.управления().окна().развернуть();
Файл scrFile = драйвер ((TakesScreenshot)).getScreenshotAs(в разделе outputtype.Файл);
FileUtils. copyFile(scrFile, new File("D:\\new\\screenshot1.png"), правда);

водитель.бросить();
}
}

Что я уже пробовал:

Приведенный выше код на самом деле содержит скрипты для создания скриншота. Я действительно взял этот код с одного из сайтов. Но когда я пробую тот же код, он выдает ошибку в следующих двух строках: "добавить приведение в файл". Может ли кто-нибудь помочь мне с этим

Файл scrFile = драйвер ((TakesScreenshot)).getScreenshotAs(в разделе outputtype.Файл);
FileUtils. copyFile(scrFile, new File("D:\\new\\screenshot1.png"), правда);

Это две линии

Richard MacCutchan

Каков точный текст сообщения об ошибке?

1 Ответов

Рейтинг:
0

Nick_3141592654

Компилятор говорит вам, что объект, возвращаемый методом getScreenshotAs, не является файлом, которому вы пытаетесь его присвоить.

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

File scrFile = (File) ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File("D:\\new\\screenshot1.png"), true);

Однако это не правильное решение. Посмотрите прямо в верхней части вашего кода (молодец, что выложил все это!), где мы видим, что у вас есть этот импорт:
import org.apache.commons.io.FileUtils;

В то время как вам нужно:
import java.io.File;

Я думаю, что если вы измените этот импорт, он должен скомпилироваться без жалоб и без необходимости в этом приведении, упомянутом выше.