
我正在尝试使用 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();
}`









