Новое окно отображается при захвате экрана с использованием Selenium Java - PullRequest
0 голосов
/ 08 января 2019

Есть ли способ, чтобы не предлагать новое окно для кода скриншота, когда оно в классе?

Здесь я вызываю класс в своем коде:

findText(By.xpath("//*[text()='Table']")).click
pause(3)
findLink(By.cssSelector("button.btn.btn-link[aria-label='Maximize']")).click

new takesScreenshot();

findLink(By.cssSelector("button.btn.btn-link[aria-label='Dashlet Actions']")).click

Это мой код класса для скриншота:

public class takesScreenshot   {


 {
    WebDriver driver = new ChromeDriver();
    File tempFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
    try {
        FileUtils.copyFile(tempFile,new File( "C:\\Screenshots\\"+ "SS1" + ".png"));
       } catch (IOException e) {
        // TODO handle exception
    }

Прямо сейчас, когда вызывается класс, он открывает новое окно, поэтому я не могу сделать скриншот для того, что я должен сделать, пожалуйста, помогите, спасибо!

1 Ответ

0 голосов
/ 08 января 2019

потому что вы запускаете новый экземпляр драйвера chrome в вашем методе takeScreenshot. Выньте строку:

WebDriver driver = new ChromeDriver();

если вам нужен экземпляр вашего драйвера, вам может потребоваться передать его в метод takeScreenshot

...