首页 > 解决方案 > 在 Python 中使用 Selenium 查找元素

问题描述

我有一个正在抓取一些数据的脚本。当我在每行中都有一个包含每个信息的表时,我的脚本中的循环可以使用 [{i+1}] 来读取不同行中的 xpath。

在此处输入图像描述

elements = browser.find_elements_by_id('VisualizarDocumento')
for i,registro in enumerate(elements):

    empresa = browser.find_element_by_xpath(f'//*[@id="grdDocumentos"]/tbody/tr[{i+1}]/td[2]').text
        
    tipo = browser.find_element_by_xpath(f'//*[@id="grdDocumentos"]/tbody/tr[{i+1}]/td[4]').text
    
    download = browser.find_element_by_xpath(f'//*[@id="grdDocumentos"]/tbody/tr[{i+1}]/td[11]/i[2]').click()
sleep(5)

print('Downloads concluídos')

但是,如果我切换到其他页面,则信息位于两行不同的行中。我试过 [{i+2}],但没有用。有人有什么提示吗? 在此处输入图像描述

编辑:我明白了。我用 {2*i + 1}

标签: pythonfor-loop

解决方案


推荐阅读