我写了一个脚本来从搜索页面中提取元素。从搜索结果中提取标题、价格和链接。我需要为页面上的所有 25 个结果捕获这些元素。
我正在使用 Xpath,每个结果都有一个递增的 div 编号。所以我想使用一个循环,以便它可以将增量 div 编号添加到我的 3 个提取中的每一个中。
我是循环的新手,不确定如何使用循环在 Xpath 中插入增量数字。 对于搜索结果的标题,我使用以下代码:
title = driver.find_element_by_xpath("//*[@id='search']/div[1]/div[2]/div/span[3]/div[1]/div[1]/div/div/div/div[2]/div[2]/div/div[1]/div/div/div/h2/a/span").text
这会打印第一个搜索结果的标题。
对于下一个结果,下面的 Div 增加 1。示例:
第一个结果:
//*[@id="search"]/div[1]/div[2]/div/span[3]/div[1]/div[1]
第二个结果是:
//*[@id="search"]/div[1]/div[2]/div/span[3]/div[1]/div[2]
第三个结果是:
//*[@id="search"]/div[1]/div[2]/div/span[3]/div[1]/div[3]
依此类推,总共有 25 个结果。
我如何在 python 中使用循环将特定的 div 增加 1,直到达到 25?
最佳答案
应该这样做,
ResultsCount = 25
for i in range(ResultsCount):
title = driver.find_element_by_xpath("//*[@id='search']/div[1]/div[2]/div/span[3]/div[1]/div["+str(i+1)+"]/div/div/div/div[2]/div[2]/div/div[1]/div/div/div/h2/a/span").text
print(title)
关于python - 在 selenium 中使用 python 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57829420/