def __init__()

in playwright_tests/pages/contribute/groups_page.py [0:0]


    def __init__(self, page: Page):
        super().__init__(page)

        # General Groups Page Locators
        self.add_group_profile_button = page.get_by_role(
            "link", name="Add group profile", exact=True)

        # Group Page Locators
        self.group_avatar_image = page.locator("section#avatar-area img")
        self.change_uploaded_group_image_option = page.locator(
            "section#avatar-area p").get_by_role("link", name="Change", exact=True)
        self.delete_uploaded_group_image_option = page.locator(
            "section#avatar-area p a[title='Delete avatar']")
        self.change_avatar_button = page.locator("section#avatar-area p a[title='Change avatar']")
        self.edit_in_admin_button = page.locator("section#main-area").get_by_role(
            "link", name="Edit in admin", exact=True)
        self.group_profile_information = page.locator("div#doc-content p")
        self.edit_group_profile_page_header = page.locator("article#group-profile h1")
        self.edit_group_profile_button = page.locator("section#main-area").get_by_role(
            "link", name="Edit group profile", exact=True)
        self.edit_group_profile_textarea = page.locator("textarea#id_information")
        self.save_group_profile_edit_button = page.locator(
            "article#group-profile input[value='Save']")
        self.edit_group_leaders_button = page.locator("div#group-leaders").get_by_role(
            "link", name="Edit group leaders", exact=True)
        self.add_group_leader_field = page.locator("div#group-leaders input#token-input-id_users")
        self.add_group_leader_button = page.locator("input[value='Add Leader']")
        self.private_message_group_members_button = page.locator("section#main-area > p.pm a")
        self.user_notification = page.locator("ul.user-messages p")
        self.edit_group_members_option = page.locator("div#group-members").get_by_role(
            "link", name="Edit group members", exact=True)
        self.add_group_member_field = page.locator("div#group-members input#token-input-id_users")
        self.add_member_button = page.locator("div#group-members input[value='Add Member']")
        self.group_leader_list = page.locator("div#group-leaders div.info a")
        self.group_members_list = page.locator("div#group-members div.info a")
        self.group_by_name = lambda group_name: page.get_by_role(
            "link", name=group_name, exact=True)
        self.pm_a_group_user = lambda username: page.locator("div.info").get_by_role(
            "link", name=username, exact=True).locator("+ p a")
        self.search_username = lambda username: page.locator(
            f"//div[@class='name_search']/b[text()='{username}']")
        self.listed_group_user = lambda username: page.locator("div.info").get_by_role(
            "link", name=username, exact=True)
        self.listed_group_leader = lambda username: page.locator(
            "div#group-leaders").get_by_role("link", name=username, exact=True)

        # Change Avatar Page Locators
        self.upload_avatar_page_header = page.locator("article#change-avatar h1")
        self.upload_avatar_image_preview = page.locator(
            "//input[@id='id_avatar']/preceding-sibling::img")
        self.upload_avatar_browse_button = page.locator("input#id_avatar")
        self.upload_avatar_button = page.locator("input[type='submit']")
        self.upload_avatar_cancel_option = page.get_by_role("link", name="Cancel", exact=True)

        # Delete Avatar Page Locators
        self.delete_uploaded_avatar_page_header = page.locator("article#avatar-delete h1")
        self.delete_uploaded_avatar_image_preview = page.locator("div#avatar-preview img")
        self.delete_uploaded_avatar_page_info = page.locator("form p")
        self.delete_uploaded_avatar_button = page.locator("input[value='Delete avatar']")
        self.delete_uploaded_avatar_cancel_button = page.get_by_role(
            "link", name="Cancel", exact=True)

        # Remove User Page Locators
        self.remove_leader_page_header = page.locator("article#remove-leader h1")
        self.remove_user_page_header = page.locator("article#remove-member h1")
        self.remove_leader_button = page.locator("input[value='Remove leader']")
        self.remove_member_button = page.locator("input[value='Remove member']")
        self.remove_member_cancel_button = page.locator("div.form-actions").get_by_role(
            "link", name="Cancel", exact=True)
        self.remove_leader = lambda username: page.locator(
            f"//div[@class='info']/a[text()='{username}']/../..//a[@title='Remove user from "
            f"leaders']")
        self.remove_user = lambda username: page.locator(
            f"//div[@class='info']/a[text()='{username}']/../..//a[@title='Remove user from "
            f"group']"
        )