如何 select 多个元素具有几乎相同的 xpath?

how to select more than one element with almost the same xpath?

我有一些元素具有以下 xpath 格式:

//*[@id="dashboardRoot"]/span/div/div/div/div[1]/div/div/div[1]/main/div[2]/div[2]/ div[1]/div/div/table/tbody/tr[i]

其中 i = 1,2,3,4,....等等

如何在循环中每次select一个元素?

我这样试过:

for i in range(5):
    
    try:
        
        xpath = '//*[@id="dashboardRoot"]/span/div/div/div/div[1]/div/div/div[1]/main/div[2]/div[2]/div[1]/div/div/table/tbody/tr["i+1"]'

        select_card = browser.find_element_by_xpath(xpath).click()

但它每次都与第一个元素一起使用,并且不会移动下一个元素。

提前致谢

要将 i 值放入字符串中,您必须将其放入如下字符串格式:

xpath = f'//*[@id="dashboardRoot"]/span/div/div/div/div[1]/div/div/div[1]/main/div[2]/div[2]/div[1]/div/div/table/tbody/tr[{i+1}]'

xpath = '//*[@id="dashboardRoot"]/span/div/div/div/div[1]/div/div/div[1]/main/div[2]/div[2]/div[1]/div/div/table/tbody/tr[{}]'.format(i+1)

而不是查找元素,使用查找 elements.your 代码应该是这样的:

xpath = '//*[@id="dashboardRoot"]/span/div/div/div/div[1]/div/div/div[1]/main/div[2]/div[2]/div[1]/div/div/table/tbody/tr'
elements= browser.find_elements_by_xpath(xpath)
for element in elements:
    element.click()