Selenium: как проверить, загружена ли вторая вкладка полностью - PullRequest
0 голосов
/ 02 марта 2019

Мы используем селен для автоматизации.Нам нужно запустить 2 URL одновременно.Я использую driver.get для загрузки первого URL, который имеет встроенную синхронизацию для загрузки страницы.Чтобы загрузить второе окно, я использую код ниже -

String jscript="window.open('"+strURL+"')";
js.executeScript(jscript);
Он отлично работает в Chrome, но в Edge загрузка страницы требует времени, и когда я пытаюсь переключить окно в другое окно, используя заголовок, он не находит окно с таким заголовком.

если я добавлю ожидание, то окно загружается и switchwindow работает отлично.Я не хочу использовать жестко закодированное ожидание. Как я могу проверить, загружено ли второе окно полностью?

Я пробовал ниже, но это дает ошибку разрешения на Edge-

String jscript="var win=window.open('"+strURL+"');win.onload=function(){}";
js.executeScript(jscript);

1 Ответ

0 голосов
/ 02 марта 2019

Попробуйте, чтобы проверить, загружена страница или нет.

wait.until( new Predicate<WebDriver>() {
            public boolean apply(WebDriver driver) {
                return ((JavascriptExecutor)driver).executeScript("return document.readyState").equals("complete");
            }
        }
    );

Надеюсь, это поможет.

...