我正在尝试刮擦食品配送网站的餐厅名称,并且xpaths是随机数字。 并非所有数字都存在,因此当它尝试x的某个数字时,会出现错误。这是我的一些意见:
restaurantname = ['//li[{}]/a/div[2]/h4'.format(x) for x in range(1, 999)]
for restaurant in restaurantname[:999]:
title = driver.find_element_by_xpath(restaurant).text
print(title)
print('*'*5)
这是我运行python文件后在终端中的输出:
Message: no such element: Unable to locate element:
{"method":"xpath","selector":"//li[157]/a/div[2]/h4"}
如果没有“这样的元素,我该如何使它简单地跳过?”
答案 0 :(得分:3)
您应该用try/except块包围find_element_by_xpath()
并打印语句。这将使您可以使用关键字pass
处理错误,这意味着“什么也不做。”
祝你好运!