Selenium:如何检查是否已完全加载第二个选项卡

时间:2019-03-02 07:07:38

标签: javascript selenium selenium-webdriver microsoft-edge

我们正在使用硒进行自动化。我们需要同时启动2个URL。 我正在使用driver.get加载第一个URL,该URL具有用于页面加载的内置同步。要加载第二个窗口,我使用下面的代码-

String jscript="window.open('"+strURL+"')";
js.executeScript(jscript);
它在chrome上工作正常,但在Edge上,页面需要花费一些时间来加载,当我尝试使用title切换到另一个窗口时,找不到带有该标题的窗口。

如果我添加了wait,那么窗口加载和切换窗口将完美运行。 我不想使用硬编码的等待。如何检查第二个窗口是否已完全加载?

我在下面尝试过,但是它在Edge-上给出了权限错误

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

1 个答案:

答案 0 :(得分:0)

请尝试检查页面是否已正确加载。

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

希望这会有所帮助。