Selenium:自定义下拉列表组件使用懒加载如何下滑定位元素
问题:
selenium定位自定义下拉列表选择组件,并且数据加载方式是懒加载,不能直接定位到元素。
1.方法一循环滑动下拉列表中的元素,直到指定元素出现:
WebElement element = driver.findElement(By.xpath("//*[@class='ant-select-item-option'][1]/div/span"));
String rowName = element.getText();
System.out.println("====默认置顶元素=====" + rowName);
int i=0;
while(i<30){ //设置最大滑动次数避免死循环
JavascriptExecutor JS = (JavascriptExecutor)driver;
element = driver.findElement(By.xpath("//*[@class='ant-select-item-option'][2]/div/span"));
rowName= element.getText();
if(rowName.equals("目标行元素名称")){
break;
}
System.out.println("====第二行元素======" + rowName+i);
Thread.sleep(100);
JS.executeScript("arguments[0].scrollIntoView();", element);
Thread.sleep(100);
element = driver.findElement(By.xpath("//*[@class='ant-select-item-option'][1]/div/span"));
rowName= element.getText();
System.out.println("====当前最顶端元素======" + rowName+i);
i++;
}