Пример #1
0
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))
Пример #2
0
#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