如图,列表如下:
列表内每条航班的 ID 都相同,但里面的元素(例如共享航班,更换机场之类)有些有,有些是没有的。
当我尝试判断第一条航班中是否存在共享航班,总是返回 True,经过分析,确定因为下面第四条航班是有 “共享航班” 的,每次定位都会定到第四条航班。
代码如下

def get_flight_info(self):
    flight_results = self.getElementlist(2, 3, **point.TIMELINE["flight_container"])
    code_share = self.isElement_exist(flight_results[0], *point.TIMELINE["flight_container"]["code_share"])

def getElementlist(self, x, y, **loc):
    dict = sorted(list(loc.items()), key=lambda d: d[0])
    loc1 = dict[y][1]
    loc2 = dict[x][1]
    # self.log.debug(loc1, loc2)
    element = self.find_element(*loc1)
    elements = element.find_elements(*loc2)
    return elements

def isElement_exist(self, flight_results, *loc):
    try:
        flight_results.find_element(*loc)
        return True
    except:
        return False

怎样可以判断第一条航班有没有共享航班?


↙↙↙阅读原文可查看相关链接,并与作者交流