如果硒中不存在元素,如何跳过

时间:2019-01-29 23:46:54

标签: python selenium xpath web-scraping

我正在尝试刮擦食品配送网站的餐厅名称,并且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"}

如果没有“这样的元素,我该如何使它简单地跳过?”

1 个答案:

答案 0 :(得分:3)

您应该用try/except块包围find_element_by_xpath()并打印语句。这将使您可以使用关键字pass处理错误,这意味着“什么也不做。”

祝你好运!