如何从Java和Selenium中的元素列表中获取元素中的元素
例如,在我的页面上有一个汽车列表,所有的汽车都有相同的按钮,比如“选择”(定位器对于所有选择按钮都是相同的): 在我的代码中,我用这个来获取汽车的WebElements列表:如何从Java和Selenium中的元素列表中获取元素中的元素,java,selenium,Java,Selenium,例如,在我的页面上有一个汽车列表,所有的汽车都有相同的按钮,比如“选择”(定位器对于所有选择按钮都是相同的): 在我的代码中,我用这个来获取汽车的WebElements列表: List<WebElement> allCars = driver.findElements(By.Xpath(ListOfAvailableCars)); 但按下列表中第一辆车的“选择”按钮 是否可以在该特定元素中定位按钮和其他元素(将Webdriver限制为仅此元素)?只需为每辆车的按钮创建一个定位器 使
List<WebElement> allCars = driver.findElements(By.Xpath(ListOfAvailableCars));
但按下列表中第一辆车的“选择”按钮
是否可以在该特定元素中定位按钮和其他元素(将Webdriver限制为仅此元素)?只需为每辆车的按钮创建一个定位器 使用
列表
查找所有按钮并按索引单击它们。
list.get(1).单击()代码>
第二种解决方案是为每个按钮创建xpath定位器
第一辆车
driver.findElement(By.xpath("(//button[@id='something'])[1]")).click();
找到您的webElement
List<WebElement> allCars = driver.findElements(By.Xpath(ListOfAvailableCars)/following-sibling::SelectButtonLocator);
希望这会有帮助。
如果可能,请分享截图谢谢大家
通过在Xpath中添加“.”解决了此问题@Grasshopper解决方案成功。使用相关的HTMLDepending更新问题。根据您的XPath,您可以使用例如//div[@class='my-class'][5]来获取第五个元素(XPath元素索引是基于1的)。“SelectButtonLocator”XPath字符串应以“.”开头,以限制在所需元素内搜索。@Grasshopper谢谢,这就是我要找的!
List<WebElement> allCars = driver.findElements(By.Xpath(ListOfAvailableCars)/following-sibling::SelectButtonLocator);
allCars.get(4).click()