PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Saturday, October 15, 2022

[FIXED] How to work out if two different selectors point to the same element on a page?

 October 15, 2022     dom, html, javascript, playwright, typescript     No comments   

Issue

Given the following page

<div id="something">
    <div id="selected">
    </div>
</div>

In playwright I have two selectors like this..

selectorA = "#something >> div >> nth=1";
selectorB = "#selected";

These two selectors point to the same element on the page. How can I compare the two selectors / locators to figure out if they are pointing to the same element or not?


Solution

I found out how to do it.

async function compareLocators(firstLocator: Locator, secondLocator: Locator): Promise<boolean> {
    const firstHandle = await firstLocator.elementHandle();
    const secondHandle = await secondLocator.elementHandle();
    return firstLocator.page().evaluate(
        compare => compare.left.isEqualNode(compare.right),
        { left: firstHandle, right: secondHandle }
    );
}

Now you can feed this function two locators and it returns true/false if they point to the same locator.



Answered By - Greener
Answer Checked By - Marilyn (PHPFixing Volunteer)
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing