gpt4 book ai didi

java - 如何提高递归函数性能?

转载 作者:行者123 更新时间:2023-12-02 08:43:16 24 4
gpt4 key购买 nike

我创建了一个递归函数。该函数的目标是浏览所有帧直到找到该元素。但速度很慢。

请在下面找到该函数:

private WebElement browseFramesToFindElement(By locator) {
WebElement element = null;
if (isElementPresent(locator, 1))
element = this.driver.findElement(locator);

if (element == null) {
List<WebElement> frames = this.driver.findElements(By.xpath("//frame"));
int i = 0;
while (i < frames.size() && element == null) {
this.driver.switchTo().frame(this.driver.findElement(By.xpath("//frame[@id = '" + frames.get(i).getAttribute("id") + "']")));
element = browseFramesToFindElement(locator);
if (element == null)
driver.switchTo().parentFrame();
i++;
}
}
return element;
}

private boolean isElementPresent(By by, int secToWait) {
this.driver.manage().timeouts().implicitlyWait(secToWait, TimeUnit.SECONDS);
try {
this.driver.findElement(by);
return true;
} catch (NoSuchElementException e) {
return false;
}
}

您能否告诉我是否可以提高性能?如何?预先感谢您。

最佳答案

我不确定您的性能问题是否与无效的递归算法有关。我建议您:

  • 将 xpath 定位器更改为 css 定位器(可能会有帮助)
  • 调整等待超时并观察结果(不确定,但可能会给出方向)

关于java - 如何提高递归函数性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61244618/

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