繁体   English   中英

使用列表设置类似的weblement <webelement> 硒中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM