Selenium 如何等待页面加载
2024-10-08 18:13:03
我在尝试使用它 selenium 创建一个应用程序。我的功能如下。从一些下拉菜单中选择后,页面上会出现带有“加载”的动画。在此期间,所有元素将被删除,然后在加载后重新添加。我试图用我分享的方式来处理这个问题,但我相信有一种更有效的方法来做到这一点。你能帮我吗?
selectelement:使用 ul 和 li 定义了创建的菜单 javascript 事件。
optionelement:在 selectelement 选择部分后,将加载 select 检查它们是否加载了内部选项。
optiontoselect:由 selectelement 中的 li 元素组成。
isloadingexpected:在做出一些选择后,页面上会出现加载动画,我无法阻止。
这是视频和我想做的事情(因为隐私而模糊):https://streamable.com/p47d93
selectitem(elements.xxx.xpath, elements.xxxoptions.xpath, aaa.bbb.xpath, 0);
`public static void selectitem(string selectelement, string optionelements, string optiontoselect, int isloadingexpected) throws exception {webdriverwait waitelement = new webdriverwait(chromedriver, duration.ofseconds(10));
if (isLoadingExpected == 1) { waitElement.until(ExpectedConditions.visibilityOfElementLocated(By.className("loading"))); waitElement.until(ExpectedConditions.invisibilityOfElementLocated(By.className("loading"))); } WebElement selectWebElement = waitElement.until(ExpectedConditions.elementToBeClickable(By.xpath(selectElement))); waitElement.until(ExpectedConditions.numberOfElementsToBeMoreThan(By.xpath(optionElements), 1)); selectWebElement.click(); WebElement optionWebElement = waitElement.until(ExpectedConditions.elementToBeClickable(By.xpath(optionToSelect))); optionWebElement.click(); }`
以上是Selenium 如何等待页面加载的详细信息,请关注图灵教育的其他相关文章!