gpt4 book ai didi

selenium - 测量 Selenium 中多个 Web 元素的加载时间

转载 作者:行者123 更新时间:2023-11-28 20:26:23 24 4
gpt4 key购买 nike

我想测量微调器元素的多个部分的加载时间。 HTML 看起来像这样:

<div id="loading">
<div id="spinner">
<div class="spinner-icon"></div>
</div>
<p class="spinner-text">Please wait</p>
</div>

我对首先加载/显示哪个元素感兴趣?图标?文本?

我在想这样的事情:

Date t1 = new Date();
wait.until(ExpectedConditions.invisibilityOfElementLocated(By.cssSelector("#loading")));
Date t2 = new Date();
long duration = t2.getTime() - t1.getTime();

但是,我可以使用交织等待吗?我可以在单个脚本中执行此操作吗?

最佳答案

正在寻找这样的东西吗?

    long[] loadTime = wait.until(new Function<WebDriver, long[]>() {
Date start = new Date();
long[] loadTimes = new long[] { 0, 0, 0, 0 };
String[] selectors = new String[] { "#loading", "#spinner", "#spinner .spinner-icon", "#spinner .spinner-text" };

@Override
public long[] apply(WebDriver t) {
int invisible = 0;
for (int i = 0; i < selectors.length; i++) {
if (!t.findElement(By.cssSelector(selectors[i])).isDisplayed()) {
if (loadTimes[i] == 0) {
loadTimes[i] = new Date().getTime() - start.getTime();
}
invisible++;
}
}
return invisible == 4 ? loadTimes : null;
}
});

关于selenium - 测量 Selenium 中多个 Web 元素的加载时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54921892/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com