[英]Java | Selenium | Using Stream to return single Webelement from a list of weblements
[英]Setting up similar weblements using a list<webelement> in selenium
我有几个页面元素/具有xpath / id的记录是这样的
//*[@id='xyz-model-car-card-0']/car
//*[@id='xyz-model-car-card-1']/car
//*[@id='xyz-model-car-card-2']/car
我希望使用列表添加这些网络元素,以便我可以对它们执行任何操作。
List<WebElement> item = Arrays.asList();
// incase i want to navigate to 5 cards..
for(int i=0;i<5;i++) {
item.add(By.id('xyz-model-car-card-'+i));
}
但是,我无法添加它。
*add (org.openqa.selenium.WebElement)
in List cannot be applied to (org.openqa.selenium.By)*
如果要一次性加载这些Webelements名称,最好的方法是什么。 enter code here
PL。 分享一些例子..预先感谢!
假设一个名为“ driver”的网络驱动程序:
List<WebElement> xyzModels = driver.findElements(By.xpath("//*[starts-with(@id='xyz-model-car-card-')]/car));
For (WebElement car : xyzModels) {
//your code here...
}
您试图将By对象添加到WebElement列表中:
item.add(By.id('xyz-model-car-card-'+i));
您需要添加Web元素(假设在实例化新的浏览器对象时正在使用驱动程序):
item.add(driver.findElement(By.id('xyz-model-car-card-'+i)));
但是,我同意比尔·希勒曼的回答。 将元素添加到列表的最佳方法是:
List<WebElement> myList = driver.findElements(By.....)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.