예제 #1
0
    def __get_flight_data(self, flight):
        flight_data = FlightData(self._from,
                                 self._to,
                                 self._start,
                                 self._url,
                                 _end=self._end,
                                 _passengers=self._passengers)

        price = flight.find_element_by_xpath(
            "div/div[1]/div[2]/div[1]/div[1]/div[6]/div[1]").text
        flight_data.set_price(int(re.sub("[^0-9]", "", price)))

        airlines = flight.find_elements_by_xpath(
            "div/div[1]/div[2]/div[1]/div[1]/div[2]/div[2]/span[1]/span")
        airlines_list = []

        for airline in airlines:
            airline_spans = airline.find_elements_by_xpath("span")
            airlines_list.append(airline_spans[len(airline_spans) - 1].text)

        flight_data.set_airlines(airlines_list)

        connections = flight.find_elements_by_xpath(
            "div/div[1]/div[2]/div[1]/div[1]/div[4]/div[2]/span[1]/span")

        if connections:
            connections_list = []

            for connection in connections:
                connection_spans = connection.find_elements_by_xpath("span")
                connections_list.append(
                    connection_spans[len(connection_spans) - 1].text)

            flight_data.set_connections(connections_list)

        return json.dumps(flight_data.__dict__)