def _get_bets_from_url(self, match_url): """ Scraps data such as match titles, bet titles and odds from the given match url :param match_url: any match url on the website :type match_url: str :return: bets dictionary in the following form: bets[match_title][bet_title] = odds :rtype: dict """ self.renderer.get(match_url) time.sleep(2) bets = [] main_table = self.renderer.wait.until( EC.presence_of_element_located( (By.CLASS_NAME, 'Match__container___fpI_d'))) # main_table = self.renderer.find_element_by_class_name('Match__container___fpI_d') teams = [ el.text for el in main_table.find_elements_by_class_name( '__app-PromoMatchBody-competitor-name') ] # print(teams) try: date = main_table.find_element_by_class_name( 'dateTime__date___2QS99').text.lower() except Exception: date = '' match = Match(MatchTitle(teams), match_url, date) self._parse_marketblocks(bets, match_url) match.bets = bets return match
def _get_bets_from_url(self, match_url): self.renderer.get(match_url) bets = [] basic_info = self.renderer.wait.until( EC.presence_of_element_located( (By.CLASS_NAME, 'sticky-inner-wrapper'))) # basic_info = self.renderer.find_element_by_class_name('sticky-inner-wrapper') date = basic_info.find_element_by_class_name( 'event--date--1').text.lower() date = self._format_date(date) teams = [ el.text for el in basic_info.find_element_by_class_name( 'event--name').find_elements_by_tag_name('span') ] match = Match(MatchTitle(teams), match_url, date, self) element = self.renderer.wait.until( EC.presence_of_element_located((By.CLASS_NAME, 'slick-block'))) element = self.renderer.wait.until( EC.element_to_be_clickable((By.CLASS_NAME, 'slick-block'))) try: self.renderer.click(element) except Exception: print('ne mogu nazhat na all') time.sleep(0.5) self._parse_marketblocks(bets, match_url) match.bets = bets return match