首页 > 解决方案 > Selenium 无法按索引遍历 div

问题描述

我正在尝试从下面的屏幕截图中的每个 div 迭代和提取数据。第一个元素的 XPath 是:

//*[@id="ext-gen161"]/div[1]

html 检查

我的想法是格式化和遍历 div 使用:

index = 1

'//*[@id="ext-gen161"]/div[' + str(index) + ']'

index += 1

出于某种原因,我似乎无法通过选择第二个 divdriver.find_element_by_xpath(formattedXPath)

我只是锁定在第一个元素上。即使手动输入//*[@id="ext-gen161"]/div[8]左右的 XPath,仍然返回元素存在于div[1]

有什么想法吗?

By.XPATH出于某种原因会更好吗?

标签: pythonhtmlseleniumxpath

解决方案


您可以遍历所需的元素:

divs = driver.find_elements_by_xpath('//*[@id="ext-gen161"]/div')

print(len(divs))

for div in divs:
    print(div.text)

推荐阅读