首页 > 解决方案 > 没有任何唯一ID的多个div

问题描述

我在 selenium 中实现自动化,并且我有多个没有唯一 ID 的 div。因此,对于我正在搜索的 xpath,我得到了 3 条记录,我想分别获取每条记录。有没有一种方法可以让我一个一个得到想要的 div?

在此处输入图像描述

标签: javaseleniumcucumbertestng

解决方案


处理这种情况的两种方法:

  1. xpath indexing

  2. find_elements

Xpath 索引:

//div[@class='OSInline']//i[@class='icon fa fa-pencil-square fa-3x']

对此应用索引:

用括号括起来

(//div[@class='OSInline']//i[@class='icon fa fa-pencil-square fa-3x'])[1]

或者

(//div[@class='OSInline']//i[@class='icon fa fa-pencil-square fa-3x'])[2]

现在来到find_elements

for element in driver.find_elements(By.XPATH, "//div[@class='OSInline']//i[@class='icon fa fa-pencil-square fa-3x']"):
    element.click() # or do whatever you wanna do with element. (It is a single web element)

或者

list_of_ele = driver.find_elements(By.XPATH, "//div[@class='OSInline']//i[@class='icon fa fa-pencil-square fa-3x']")
list_of_ele[0].click()  

或者

list_of_ele[1].click()  

推荐阅读