有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

例如,在我的页面上有一个汽车列表,所有的汽车都有相同的按钮,比如“选择”(定位器对于所有选择按钮都是相同的):

在我的代码中,我用这个来获取汽车的WebElements列表:

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

然后,我得到了第五辆车的WebElement,我找到了这辆车的选择按钮:

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

但按下列表中第一辆车的“选择”按钮

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


共 (3) 个答案

  1. # 1 楼答案

    谢谢大家

    通过添加“”解决了此问题到Xpath@蚱蜢的解决办法奏效了

  2. # 2 楼答案

    找到您的webElement

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

    然后

    allCars.get(4).click()
    

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

  3. # 3 楼答案

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

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

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

    第一辆车

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