如何从Java和Selenium中的元素列表中获取元素中的元素

时间:2018-10-05 13:47:57

标签: java selenium

例如,在页面上,我有汽车列表,所有汽车都有相同的按钮,例如“选择”(所有选择按钮的位置都相同):

在我的代码中,我使用它来获取汽车的WebElement列表:

List<WebElement> allCars = driver.findElements(By.Xpath(ListOfAvailableCars));

然后,我要获得第5辆车的WebElement,并找到这辆车的选择按钮:

allCars.get(4).findElement(By.Xpath(SelectButtonLocator)).click();

但是在列表中的第一辆车上按下了“选择”按钮。

是否可以仅在此特定元素中定位按钮和其他元素(仅将Webdriver限制为该元素)?

3 个答案:

答案 0 :(得分:0)

只需为每辆车的按钮创建一个定位器。

使用 List<WebeElement> 查找所有按钮,然后按索引单击它们。 list.get(1).click();

第二种解决方案是为每个按钮创建xpath定位器。

第一辆车

driver.findElement(By.xpath("(//button[@id='something'])[1]")).click();

答案 1 :(得分:0)

找到您的webElement

List<WebElement> allCars = driver.findElements(By.Xpath(ListOfAvailableCars)/following-sibling::SelectButtonLocator);

然后

allCars.get(4).click()

希望它会有所帮助。 如有可能,请分享屏幕截图

答案 2 :(得分:0)

谢谢大家!

通过添加“”解决了此问题。到Xpath。 @Grasshopper解决方案有效。