try: ef_driver.implicitly_wait(10) xpath = '//button[@ng-click="$ctrl.automatch.botMatch(1)"]' button = ef_driver.find_element_by_xpath(xpath) print("button gefunden") # button = wait_for_presence_of_element(xpath, "XPATH") if button: print(button.text) button.click() except: print("button nicht gefunden") try: ef_driver.implicitly_wait(10) cards = ef_driver.find_elements_by_class_name("card-name") if cards: for card in cards: print(card.text) except: print("keine karten gefunden") cards = {} try: ef_driver.implicitly_wait(10) baseSupplyCardsContainer = ef_driver.find_element_by_class_name( "base-hero-bar") if baseSupplyCardsContainer: baseSupplyCards = baseSupplyCardsContainer.find_elements_by_class_name( "visible-supply") print(len(baseSupplyCards))
#plain_driver=webdriver.Chrome(executable_path="C:/Users/shaik/PycharmProjects/drivers/chromedriver_win32/chromedriver.exe") driver=EventFiringWebDriver(plain_driver, EventListener()) driver.get("https://fs2.formsite.com/meherpavan/form2/index.html?1537702596407") driver.maximize_window() time.sleep(2) male_radio=driver.find_element_by_id("RESULT_RadioButton-7_0") print("Is Male radio button selected or not :",male_radio.is_selected()) print("Is Male radio button visible or not :",male_radio.is_displayed()) time.sleep(2) wait=WebDriverWait(driver,10) #wait.until(expected_conditions.element_to_be_clickable(male_radio)) if male_radio.is_selected(): print("radio button is already selected") else: print("radio button is NOT selected") highlight(male_radio) #male_radio.click() driver.execute_script("arguments[0].click();", male_radio) time.sleep(5) print("Is Male radio button visible or not :",male_radio.is_displayed()) print("Is Male radio button selected or not :",male_radio.is_selected()) print(len(driver.find_elements_by_class_name('multiple_choice'))) #driver.find_element_by_id("RESULT_CheckBox-8_0").click() chkbox=driver.find_element_by_xpath("//table[@class='inline_grid choices']//input[@id='RESULT_CheckBox-8_0']") highlight(chkbox) driver.execute_script("arguments[0].click();", chkbox) chkbox.click() time.sleep(5) driver.quit()
def parse_seasons(driver, player_dict): edge_ef_driver = EventFiringWebDriver(driver, LiquipediaNavListener()) season_titles = [] link_texts = [] seasons = [] # quick hack for cleaning the list... bottom of page contains redundant links! link_elements = edge_ef_driver.find_elements_by_partial_link_text("RLCS Season") for link_element in link_elements: if '-' in link_element.wrapped_element.text: # Get season title season_title = link_element.wrapped_element.text season_titles.append(season_title) link_texts.append(link_element.get_attribute("href")) season_num = 0 for link in link_texts: is_final = "Finals" == season_titles[season_num].split('-')[1].strip() edge_ef_driver.get(link) time.sleep(20) # Get teams teamcards = edge_ef_driver.find_elements_by_class_name("teamcard") team_dict = parse_teams(teamcards, season_titles[season_num], player_dict) # Get matches matches = [] if not is_final: # Group stage tables = edge_ef_driver.find_elements_by_class_name("matchlist table table-bordered collapsible") for table in tables: table_entries = table.find_elements_by_class_name("match-row") event = table.find_elements_by_tag_name("th").wrapped_element.text for match in table_entries: team1 = team_dict.get( table_entries[0].find_element_by_tag_name("span").get_attribute("data-highlightingclass")) team2 = team_dict.get( table_entries[3].find_element_by_tag_name("span").get_attribute("data-highlightingclass")) team1_wins = table_entries[1].wrapped_element.text.lstrip() team2_wins = table_entries[2].wrapped_element.text.lstrip() if not team1_wins == "W" and not team1_wins == "FF": for num in range(int(team1_wins)): matches.append(Match(team1=team1, team2=team2, victor=team1, season_title=season_titles[season_num], event=event)) for num in range(int(team2_wins)): matches.append(Match(team1=team1, team2=team2, victor=team2, season_title=season_titles[season_num], event=event)) # Playoffs bracket_web_elements = edge_ef_driver.find_elements_by_class_name("bracket-column-matches") bracket_headers = [bracket.find_elements_by_class_name("bracket-header") for bracket in bracket_web_elements] if re.search(r"Season [789]", season_titles[season_num]): bracket_tuples = make_brackets(bracket_web_elements, bracket_headers, True) else: bracket_tuples = make_brackets(bracket_web_elements, bracket_headers, False) get_bracket_matches(season_titles[season_num], team_dict, bracket_tuples, matches) else: bracket_web_elements = edge_ef_driver.find_elements_by_class_name("bracket-column-matches") bracket_headers = [bracket.find_elements_by_class_name("bracket-header") for bracket in bracket_web_elements] bracket_tuples = make_brackets(bracket_web_elements, bracket_headers, False) get_bracket_matches(season_titles[season_num], team_dict, bracket_tuples, matches) season = Season(season_titles[season_num], player_dict, set(list(team_dict.values())), matches) seasons.append(season) edge_ef_driver.back() season_num += 1 time.sleep(5) return seasons