gpt4 book ai didi

java - 等待 get 请求在 Selenium 中完成

转载 作者:行者123 更新时间:2023-12-02 09:14:51 29 4
gpt4 key购买 nike

对于这个例子,让我们看看网站 pinterest:

当我首次登录时,会加载一些引脚。为了获得更多引脚,我需要滚动到页面末尾,在请求更多引脚之后(很多网站都像我想的那样工作)

所以我知道如何在 Selenium 中进行滚动,但是如何等待请求结束?

我的意思是,它不是等待某些元素出现,这种元素(引脚)已经存在,但我正在等待其他元素出现。

如果我在等待中使用预期条件,这对于第一批引脚很有好处,但是对于添加到其中的引脚,我如何等待它们,例如:

当pinterest首次加载时->

WebDriverWait driverWait = new WebDriverWait(cd, 10, 1000);

element = driverWait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("thepins")));

这对于初始加载非常有用,现在我滚动到页面底部

((JavascriptExecutor) cd).executeScript("window.scrollTo(0, document.body.scrollHeight)");

现在取决于页面,有更多引脚的加载(有时不是),我想等待它们加载,然后再进行另一次滚动。

解决这种情况的最佳方法是什么?

最佳答案

我的方法是使用页面上的元素数量。例如,您可以这样做:

int pinCount = webDriver.findElements(By.xpath("thepins")).size();

此时运行 jsExecutor 进行滚动,然后:

webDriverWait.until(ExpectedConditions.numberOfElementsToBeMoreThan(By.xpath("thepins"),pinCount ));

关于java - 等待 get 请求在 Selenium 中完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52277381/

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