Class FrameLocatorImpl

java.lang.Object
com.microsoft.playwright.impl.FrameLocatorImpl
All Implemented Interfaces:
FrameLocator

class FrameLocatorImpl extends Object implements FrameLocator
  • Field Details

    • frame

      private final FrameImpl frame
    • frameSelector

      private final String frameSelector
  • Constructor Details

  • Method Details

    • first

      public FrameLocator first()
      Description copied from interface: FrameLocator
      Returns locator to the first matching frame.
      Specified by:
      first in interface FrameLocator
    • frameLocator

      public FrameLocatorImpl frameLocator(String selector)
      Description copied from interface: FrameLocator
      When working with iframes, you can create a frame locator that will enter the iframe and allow selecting elements in that iframe.
      Specified by:
      frameLocator in interface FrameLocator
      Parameters:
      selector - A selector to use when resolving DOM element.
    • getByAltText

      public Locator getByAltText(String text, FrameLocator.GetByAltTextOptions options)
      Description copied from interface: FrameLocator
      Allows locating elements by their alt text.

      **Usage**

      For example, this method will find the image by alt text "Playwright logo":

      
       page.getByAltText("Playwright logo").click();
       
      Specified by:
      getByAltText in interface FrameLocator
      Parameters:
      text - Text to locate the element for.
    • getByAltText

      public Locator getByAltText(Pattern text, FrameLocator.GetByAltTextOptions options)
      Description copied from interface: FrameLocator
      Allows locating elements by their alt text.

      **Usage**

      For example, this method will find the image by alt text "Playwright logo":

      
       page.getByAltText("Playwright logo").click();
       
      Specified by:
      getByAltText in interface FrameLocator
      Parameters:
      text - Text to locate the element for.
    • getByLabel

      public Locator getByLabel(String text, FrameLocator.GetByLabelOptions options)
      Description copied from interface: FrameLocator
      Allows locating input elements by the text of the associated <label> or aria-labelledby element, or by the aria-label attribute.

      **Usage**

      For example, this method will find inputs by label "Username" and "Password" in the following DOM:

      
       page.getByLabel("Username").fill("john");
       page.getByLabel("Password").fill("secret");
       
      Specified by:
      getByLabel in interface FrameLocator
      Parameters:
      text - Text to locate the element for.
    • getByLabel

      public Locator getByLabel(Pattern text, FrameLocator.GetByLabelOptions options)
      Description copied from interface: FrameLocator
      Allows locating input elements by the text of the associated <label> or aria-labelledby element, or by the aria-label attribute.

      **Usage**

      For example, this method will find inputs by label "Username" and "Password" in the following DOM:

      
       page.getByLabel("Username").fill("john");
       page.getByLabel("Password").fill("secret");
       
      Specified by:
      getByLabel in interface FrameLocator
      Parameters:
      text - Text to locate the element for.
    • getByPlaceholder

      public Locator getByPlaceholder(String text, FrameLocator.GetByPlaceholderOptions options)
      Description copied from interface: FrameLocator
      Allows locating input elements by the placeholder text.

      **Usage**

      For example, consider the following DOM structure.

      You can fill the input after locating it by the placeholder text:

      
       page.getByPlaceholder("name@example.com").fill("playwright@microsoft.com");
       
      Specified by:
      getByPlaceholder in interface FrameLocator
      Parameters:
      text - Text to locate the element for.
    • getByPlaceholder

      public Locator getByPlaceholder(Pattern text, FrameLocator.GetByPlaceholderOptions options)
      Description copied from interface: FrameLocator
      Allows locating input elements by the placeholder text.

      **Usage**

      For example, consider the following DOM structure.

      You can fill the input after locating it by the placeholder text:

      
       page.getByPlaceholder("name@example.com").fill("playwright@microsoft.com");
       
      Specified by:
      getByPlaceholder in interface FrameLocator
      Parameters:
      text - Text to locate the element for.
    • getByRole

      public Locator getByRole(AriaRole role, FrameLocator.GetByRoleOptions options)
      Description copied from interface: FrameLocator
      Allows locating elements by their ARIA role, ARIA attributes and accessible name.

      **Usage**

      Consider the following DOM structure.

      You can locate each element by it's implicit role:

      
       assertThat(page
           .getByRole(AriaRole.HEADING,
                      new Page.GetByRoleOptions().setName("Sign up")))
           .isVisible();
      
       page.getByRole(AriaRole.CHECKBOX,
                      new Page.GetByRoleOptions().setName("Subscribe"))
           .check();
      
       page.getByRole(AriaRole.BUTTON,
                      new Page.GetByRoleOptions().setName(
                          Pattern.compile("submit", Pattern.CASE_INSENSITIVE)))
           .click();
       

      **Details**

      Role selector **does not replace** accessibility audits and conformance tests, but rather gives early feedback about the ARIA guidelines.

      Many html elements have an implicitly defined role that is recognized by the role selector. You can find all the supported roles here. ARIA guidelines **do not recommend** duplicating implicit roles and attributes by setting role and/or aria-* attributes to default values.

      Specified by:
      getByRole in interface FrameLocator
      Parameters:
      role - Required aria role.
    • getByTestId

      public Locator getByTestId(String testId)
      Description copied from interface: FrameLocator
      Locate element by the test id.

      **Usage**

      Consider the following DOM structure.

      You can locate the element by it's test id:

      
       page.getByTestId("directions").click();
       

      **Details**

      By default, the data-testid attribute is used as a test id. Use Selectors.setTestIdAttribute() to configure a different test id attribute if necessary.

      Specified by:
      getByTestId in interface FrameLocator
      Parameters:
      testId - Id to locate the element by.
    • getByTestId

      public Locator getByTestId(Pattern testId)
      Description copied from interface: FrameLocator
      Locate element by the test id.

      **Usage**

      Consider the following DOM structure.

      You can locate the element by it's test id:

      
       page.getByTestId("directions").click();
       

      **Details**

      By default, the data-testid attribute is used as a test id. Use Selectors.setTestIdAttribute() to configure a different test id attribute if necessary.

      Specified by:
      getByTestId in interface FrameLocator
      Parameters:
      testId - Id to locate the element by.
    • getByText

      public Locator getByText(String text, FrameLocator.GetByTextOptions options)
      Description copied from interface: FrameLocator
      Allows locating elements that contain given text.

      See also Locator.filter() that allows to match by another criteria, like an accessible role, and then filter by the text content.

      **Usage**

      Consider the following DOM structure:

      You can locate by text substring, exact string, or a regular expression:

      
       // Matches <span>
       page.getByText("world")
      
       // Matches first <div>
       page.getByText("Hello world")
      
       // Matches second <div>
       page.getByText("Hello", new Page.GetByTextOptions().setExact(true))
      
       // Matches both <div>s
       page.getByText(Pattern.compile("Hello"))
      
       // Matches second <div>
       page.getByText(Pattern.compile("^hello$", Pattern.CASE_INSENSITIVE))
       

      **Details**

      Matching by text always normalizes whitespace, even with exact match. For example, it turns multiple spaces into one, turns line breaks into spaces and ignores leading and trailing whitespace.

      Input elements of the type button and submit are matched by their value instead of the text content. For example, locating by text "Log in" matches <input type=button value="Log in">.

      Specified by:
      getByText in interface FrameLocator
      Parameters:
      text - Text to locate the element for.
    • getByText

      public Locator getByText(Pattern text, FrameLocator.GetByTextOptions options)
      Description copied from interface: FrameLocator
      Allows locating elements that contain given text.

      See also Locator.filter() that allows to match by another criteria, like an accessible role, and then filter by the text content.

      **Usage**

      Consider the following DOM structure:

      You can locate by text substring, exact string, or a regular expression:

      
       // Matches <span>
       page.getByText("world")
      
       // Matches first <div>
       page.getByText("Hello world")
      
       // Matches second <div>
       page.getByText("Hello", new Page.GetByTextOptions().setExact(true))
      
       // Matches both <div>s
       page.getByText(Pattern.compile("Hello"))
      
       // Matches second <div>
       page.getByText(Pattern.compile("^hello$", Pattern.CASE_INSENSITIVE))
       

      **Details**

      Matching by text always normalizes whitespace, even with exact match. For example, it turns multiple spaces into one, turns line breaks into spaces and ignores leading and trailing whitespace.

      Input elements of the type button and submit are matched by their value instead of the text content. For example, locating by text "Log in" matches <input type=button value="Log in">.

      Specified by:
      getByText in interface FrameLocator
      Parameters:
      text - Text to locate the element for.
    • getByTitle

      public Locator getByTitle(String text, FrameLocator.GetByTitleOptions options)
      Description copied from interface: FrameLocator
      Allows locating elements by their title attribute.

      **Usage**

      Consider the following DOM structure.

      You can check the issues count after locating it by the title text:

      
       assertThat(page.getByTitle("Issues count")).hasText("25 issues");
       
      Specified by:
      getByTitle in interface FrameLocator
      Parameters:
      text - Text to locate the element for.
    • getByTitle

      public Locator getByTitle(Pattern text, FrameLocator.GetByTitleOptions options)
      Description copied from interface: FrameLocator
      Allows locating elements by their title attribute.

      **Usage**

      Consider the following DOM structure.

      You can check the issues count after locating it by the title text:

      
       assertThat(page.getByTitle("Issues count")).hasText("25 issues");
       
      Specified by:
      getByTitle in interface FrameLocator
      Parameters:
      text - Text to locate the element for.
    • last

      public FrameLocator last()
      Description copied from interface: FrameLocator
      Returns locator to the last matching frame.
      Specified by:
      last in interface FrameLocator
    • locator

      public Locator locator(String selector, FrameLocator.LocatorOptions options)
      Description copied from interface: FrameLocator
      The method finds an element matching the specified selector in the locator's subtree. It also accepts filter options, similar to Locator.filter() method.

      Learn more about locators.

      Specified by:
      locator in interface FrameLocator
      Parameters:
      selector - A selector or locator to use when resolving DOM element.
    • locator

      public Locator locator(Locator selectorOrLocator, FrameLocator.LocatorOptions options)
      Description copied from interface: FrameLocator
      The method finds an element matching the specified selector in the locator's subtree. It also accepts filter options, similar to Locator.filter() method.

      Learn more about locators.

      Specified by:
      locator in interface FrameLocator
      Parameters:
      selectorOrLocator - A selector or locator to use when resolving DOM element.
    • nth

      public FrameLocator nth(int index)
      Description copied from interface: FrameLocator
      Returns locator to the n-th matching frame. It's zero based, nth(0) selects the first frame.
      Specified by:
      nth in interface FrameLocator