Java 使用列表设置类似的WebElement<;webelement>;含硒

Java 使用列表设置类似的WebElement<;webelement>;含硒,java,selenium-webdriver,Java,Selenium Webdriver,我有几个页面元素/记录的xpath/id如下 //*[@id='xyz-model-car-card-0']/car //*[@id='xyz-model-car-card-1']/car //*[@id='xyz-model-car-card-2']/car 我希望使用列表添加这些webelements,这样我就可以对它们采取任何行动 List<WebElement> item = Arrays.asList(); // incase i want to navigate to

我有几个页面元素/记录的xpath/id如下

//*[@id='xyz-model-car-card-0']/car
//*[@id='xyz-model-car-card-1']/car
//*[@id='xyz-model-car-card-2']/car
我希望使用列表添加这些webelements,这样我就可以对它们采取任何行动

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));
}
如果我们想一次性加载这些webelements名称,那么处理这些webelements名称的最佳方法是什么。
在此处输入code


分享一些例子。。提前谢谢

假设一个名为“driver”的Web驱动程序:

List<WebElement> xyzModels = driver.findElements(By.xpath("//*[starts-with(@id='xyz-model-car-card-')]/car));

For (WebElement car : xyzModels) {
    //your code here...
}
List xyzModels=driver.findElements(By.xpath(“//*[以(@id='xyz-model-car-card-'))]/car开头));
用于(WebElement汽车:xyzModels){
//你的代码在这里。。。
}

假设一个名为“driver”的Web驱动程序:

List<WebElement> xyzModels = driver.findElements(By.xpath("//*[starts-with(@id='xyz-model-car-card-')]/car));

For (WebElement car : xyzModels) {
    //your code here...
}
List xyzModels=driver.findElements(By.xpath(“//*[以(@id='xyz-model-car-card-'))]/car开头));
用于(WebElement汽车:xyzModels){
//你的代码在这里。。。
}

您正试图将By对象添加到您的WebElement列表中:

item.add(By.id('xyz-model-car-card-'+i));
您需要添加web元素(假设在实例化新浏览器对象时使用驱动程序):

但是,我同意比尔·希勒曼的回答。将元素添加到列表中的最佳方法是:

List<WebElement> myList = driver.findElements(By.....)
List myList=driver.findElements(By…)

您正试图将By对象添加到您的WebElement列表中:

item.add(By.id('xyz-model-car-card-'+i));
您需要添加web元素(假设在实例化新浏览器对象时使用驱动程序):

但是,我同意比尔·希勒曼的回答。将元素添加到列表中的最佳方法是:

List<WebElement> myList = driver.findElements(By.....)
List myList=driver.findElements(By…)