iframe уменьшить масштаб триггера свиток селен java - PullRequest
0 голосов
/ 25 октября 2019

Я пытаюсь сделать снимок из большого отчета в виде таблицы с огромным фреймом. Для того, чтобы захватить весь экран, мне нужно уменьшить масштаб. С обычными страницами URL следующий код работает отлично, но когда дело доходит до iframe

    JavascriptExecutor executor = (JavascriptExecutor)driver;
    executor.executeScript("document.body.style.zoom = '50%'");

Не работает свое очарование, он увеличивает контейнер iframe до 50%, но размер текста контента остается прежним.

Затем я добавил

driver.switchTo().frame(driver.findElement(By.tagName("iframe")));

, которая помогла направить увеличение именно на этот iframe, но активировала прокрутку.

Вот код:

@Component
public class TableauReportingPage {

    @Autowired
    private BrowserCommands browserCommands;

    @Autowired
    private WebDriverService webDriverService;


    public void openExistingResource(String url) throws Exception{
        WebDriver driver = webDriverService.openNewBrowser();
        driver.manage().window().setSize(new Dimension(1650,950));
        driver.navigate().to(url);
        Thread.sleep(20000);
        driver.switchTo().frame(driver.findElement(By.tagName("iframe")));
        Thread.sleep(20000);
//        for(int i=0; i<6; i++){
//            System.out.println(i);
//            new Actions(driver)
//                    .sendKeys(Keys.CONTROL).sendKeys(Keys.SUBTRACT)
//                    .perform();
//            browserCommands.findElementsById("viz-client-container").
//                    sendKeys(Keys.chord(Keys.CONTROL,Keys.SUBTRACT));
//        }
        JavascriptExecutor executor = (JavascriptExecutor)driver;
        executor.executeScript("document.body.style.zoom = '50%'");
        Thread.sleep(20000);

   }

    public File getScreenshot(){
        try {
            Thread.sleep(10000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return browserCommands.getScreenshot();
    }
}

здесь - изображение до: введите описание изображения здесь

здесь после выполнения кода: введите описание изображения здесь

Любая идеякак правильно кодировать и масштабировать iframe для просмотра всех объектов на скриншоте?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...