{"id":3604,"date":"2025-01-17T09:16:10","date_gmt":"2025-01-17T09:16:10","guid":{"rendered":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/2025\/01\/17\/usage-of-stream-has-text-and-mouse-right-click-methods-using-playwright-java\/"},"modified":"2025-01-17T09:16:10","modified_gmt":"2025-01-17T09:16:10","slug":"usage-of-stream-has-text-and-mouse-right-click-methods-using-playwright-java","status":"publish","type":"post","link":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/2025\/01\/17\/usage-of-stream-has-text-and-mouse-right-click-methods-using-playwright-java\/","title":{"rendered":"Usage of stream(), has-text() and mouse right click methods using Playwright Java"},"content":{"rendered":"<p><html><body><\/p>\n<section class=\"tcb-post-content tcb-shortcode thrv_wrapper\" data-css=\"tve-u-16ec5d248bb\">\n<div class=\"tve_flt tcb-style-wrap\" id=\"tve_flt\">\n<div class=\"tve_shortcode_editor tar-main-content\" data-post-id=\"3604\" id=\"tve_editor\">\n<div class=\"thrv_wrapper thrv_text_element\">\n<p><em>In this blog we will be utilizing Playwright Java to handle mouse right click and will see the usage of steam() and has-text() methods.<\/em><\/p>\n<div class=\"code-block code-block-2\" style=\"margin: 8px auto; text-align: center; display: block; clear: both;\">\n<p><!-- horizontal responsive 2 --><br \/>\n<ins class=\"adsbygoogle\" data-ad-client=\"ca-pub-3231318496783163\" data-ad-format=\"auto\" data-ad-slot=\"2788468763\" data-full-width-responsive=\"true\" style=\"display:block\"><\/ins>\n<\/div>\n<p><strong>Topics that we will cover:<\/strong><\/p>\n<ul>\n<li>Mouse \u2018Right click\u2019 operation<\/li>\n<li>Usage of <em>stream()<\/em> and <em>has-text()<\/em> methods<\/li>\n<li>Source code (mouse right click)<\/li>\n<li>Source code (<em>stream()<\/em> , <em>has-text()<\/em>)<\/li>\n<\/ul>\n<p><strong>Mouse \u2018Right click\u2019 operation<\/strong><\/p>\n<p>Go to <a href=\"https:\/\/demo.automationtesting.in\/Windows.html\" rel=\"noopener\" target=\"_blank\">https:\/\/demo.automationtesting.in\/Windows.html<\/a>\u00a0<\/p>\n<p>Our goal is to right click \u2018click\u2019 button so that the right click menu comes up<\/p>\n<\/div>\n<div class=\"thrv_wrapper tve_image_caption\" data-css=\"tve-u-194738fb5f7\" style=\"\"><span class=\"tve_image_frame\"><img alt=\"\" class=\"tve_image wp-image-3607\" data-css=\"tve-u-194738fc4b2\" data-height=\"191\" data-id=\"3607\" data-init-height=\"378\" data-init-width=\"1234\" data-width=\"623\" decoding=\"async\" height=\"191\" loading=\"lazy\" src=\"\/blog\/wp-content\/uploads\/2025\/01\/Screenshot-2025-01-17-at-2.47.05\u202fPM.png\" style=\"aspect-ratio: auto 1234 \/ 378;\" title=\"Screenshot 2025-01-17 at 2.47.05\u202fPM\" width=\"623\"\/><\/span><\/div>\n<div class=\"thrv_wrapper thrv_text_element\">\n<p>Inspect \u2018click\u2019 button and copy the xpath<\/p>\n<\/div>\n<div class=\"thrv_wrapper tve_image_caption\" data-css=\"tve-u-19473904b5e\" style=\"\"><span class=\"tve_image_frame\"><img alt=\"\" class=\"tve_image wp-image-3608\" data-css=\"tve-u-19473905b7c\" data-height=\"212\" data-id=\"3608\" data-init-height=\"464\" data-init-width=\"1234\" data-width=\"564\" decoding=\"async\" height=\"212\" loading=\"lazy\" src=\"\/blog\/wp-content\/uploads\/2025\/01\/Screenshot-2025-01-17-at-2.48.52\u202fPM.png\" style=\"aspect-ratio: auto 1234 \/ 464;\" title=\"Screenshot 2025-01-17 at 2.48.52\u202fPM\" width=\"564\"\/><\/span><\/div>\n<div class=\"thrv_wrapper thrv_text_element\">\n<p>\u00a0<em>\/\/*[@id=&#8221;Tabbed&#8221;]\/a\/button<\/em><\/p>\n<p>We can now use this xpath along with \u2018MouseButton.RIGHT\u2019 method as shown below\u00a0<\/p>\n<\/div>\n<div class=\"thrv_wrapper tve_image_caption\" data-css=\"tve-u-1947390cfa0\" style=\"\"><span class=\"tve_image_frame\"><img alt=\"\" class=\"tve_image wp-image-3609\" data-css=\"tve-u-1947391035e\" data-height=\"430\" data-id=\"3609\" data-init-height=\"906\" data-init-width=\"1234\" data-width=\"586\" decoding=\"async\" height=\"430\" loading=\"lazy\" src=\"\/blog\/wp-content\/uploads\/2025\/01\/Screenshot-2025-01-17-at-2.49.24\u202fPM.png\" style=\"aspect-ratio: auto 1234 \/ 906;\" title=\"Screenshot 2025-01-17 at 2.49.24\u202fPM\" width=\"586\"\/><\/span><\/div>\n<div class=\"thrv_wrapper thrv_text_element\">\n<p>\u00a0Execute and notice below that mouse right click operaion is successful and the right click menu comes up<\/p>\n<\/div>\n<div class=\"thrv_wrapper tve_image_caption\" data-css=\"tve-u-19473916e17\" style=\"\"><span class=\"tve_image_frame\"><img alt=\"\" class=\"tve_image wp-image-3610\" data-css=\"tve-u-19473918ca6\" data-height=\"335\" data-id=\"3610\" data-init-height=\"720\" data-init-width=\"1234\" data-width=\"574\" decoding=\"async\" height=\"335\" loading=\"lazy\" src=\"\/blog\/wp-content\/uploads\/2025\/01\/Screenshot-2025-01-17-at-2.50.08\u202fPM.png\" style=\"aspect-ratio: auto 1234 \/ 720;\" title=\"Screenshot 2025-01-17 at 2.50.08\u202fPM\" width=\"574\"\/><\/span><\/div>\n<div class=\"thrv_wrapper thrv_text_element\">\n<p>\u00a0<strong>Usage of\u00a0<\/strong><strong><em>stream()<\/em><\/strong><strong> and <\/strong><strong><em>has-text()<\/em><\/strong><strong> methods<\/strong><\/p>\n<p>Let us go to <a class=\"\" href=\"https:\/\/www.amazon.in\/\" rel=\"noopener\" style=\"outline: none;\" target=\"_blank\">https:\/\/www.amazon.in\/<\/a>\u00a0<\/p>\n<p>Our task is to extract all the links from the page that have the text \u2018Amazon\u2019<\/p>\n<\/div>\n<div class=\"thrv_wrapper tve_image_caption\" data-css=\"tve-u-1947391f81d\" style=\"\"><span class=\"tve_image_frame\"><img alt=\"\" class=\"tve_image wp-image-3611\" data-css=\"tve-u-19473920c49\" data-height=\"191\" data-id=\"3611\" data-init-height=\"392\" data-init-width=\"1234\" data-width=\"600\" decoding=\"async\" height=\"191\" loading=\"lazy\" src=\"\/blog\/wp-content\/uploads\/2025\/01\/Screenshot-2025-01-17-at-2.50.43\u202fPM.png\" style=\"aspect-ratio: auto 1234 \/ 392;\" title=\"Screenshot 2025-01-17 at 2.50.43\u202fPM\" width=\"600\"\/><\/span><\/div>\n<div class=\"thrv_wrapper thrv_text_element\">\n<p>\u00a0Now link is represented by \u2018a\u2019 tag. Now there is a \u2018has-text()\u2019 method that we can use to extract all the links having text \u2018Amazon\u2019, as shown below<\/p>\n<\/div>\n<div class=\"thrv_wrapper tve_image_caption\" data-css=\"tve-u-19473927eea\" style=\"\"><span class=\"tve_image_frame\"><img alt=\"\" class=\"tve_image wp-image-3612\" data-css=\"tve-u-19473928d06\" data-height=\"418\" data-id=\"3612\" data-init-height=\"904\" data-init-width=\"1234\" data-width=\"570\" decoding=\"async\" height=\"418\" loading=\"lazy\" src=\"\/blog\/wp-content\/uploads\/2025\/01\/Screenshot-2025-01-17-at-2.51.14\u202fPM.png\" style=\"aspect-ratio: auto 1234 \/ 904;\" title=\"Screenshot 2025-01-17 at 2.51.14\u202fPM\" width=\"570\"\/><\/span><\/div>\n<div class=\"thrv_wrapper thrv_text_element\">\n<p>\u00a0So our code logic would like as shown below<\/p>\n<\/div>\n<div class=\"thrv_wrapper tve_image_caption\" data-css=\"tve-u-19473930097\" style=\"\"><span class=\"tve_image_frame\"><img alt=\"\" class=\"tve_image wp-image-3613\" data-css=\"tve-u-1947393149e\" data-height=\"230\" data-id=\"3613\" data-init-height=\"510\" data-init-width=\"1234\" data-width=\"557\" decoding=\"async\" height=\"230\" loading=\"lazy\" src=\"\/blog\/wp-content\/uploads\/2025\/01\/Screenshot-2025-01-17-at-2.51.49\u202fPM.png\" style=\"aspect-ratio: auto 1234 \/ 510;\" title=\"Screenshot 2025-01-17 at 2.51.49\u202fPM\" width=\"557\"\/><\/span><\/div>\n<div class=\"thrv_wrapper thrv_text_element\">\n<p>\u00a0Execute.<\/p>\n<p>Notice below that all the link texts are printed that have the text \u2018Amazon\u2019<\/p>\n<\/div>\n<div class=\"thrv_wrapper tve_image_caption\" data-css=\"tve-u-194739379b0\" style=\"\"><span class=\"tve_image_frame\"><img alt=\"\" class=\"tve_image wp-image-3614\" data-css=\"tve-u-19473938533\" data-height=\"475\" data-id=\"3614\" data-init-height=\"962\" data-init-width=\"832\" data-width=\"411\" decoding=\"async\" height=\"475\" loading=\"lazy\" src=\"\/blog\/wp-content\/uploads\/2025\/01\/Screenshot-2025-01-17-at-2.52.20\u202fPM.png\" style=\"aspect-ratio: auto 832 \/ 962;\" title=\"Screenshot 2025-01-17 at 2.52.20\u202fPM\" width=\"411\"\/><\/span><\/div>\n<div class=\"thrv_wrapper thrv_text_element\">\n<p>\u00a0So this is how we can use <em>has-text()<\/em> alongwith <em>stream() method.<\/em><\/p>\n<p><strong>Source code (mouse right click)<\/strong><\/p>\n<p><strong>package<\/strong> com.rsa.playwrightjava;<\/p>\n<p><\/p>\n<p><strong>import<\/strong> org.testng.annotations.AfterMethod;<\/p>\n<p><strong>import<\/strong> org.testng.annotations.BeforeMethod;<\/p>\n<p><strong>import<\/strong> org.testng.annotations.Test;<\/p>\n<p><strong>import<\/strong> com.microsoft.playwright.Browser;<\/p>\n<p><strong>import<\/strong> com.microsoft.playwright.BrowserType;<\/p>\n<p><strong>import<\/strong> com.microsoft.playwright.Locator;<\/p>\n<p><strong>import<\/strong> com.microsoft.playwright.Page;<\/p>\n<p><strong>import<\/strong> com.microsoft.playwright.Playwright;<\/p>\n<p><strong>import<\/strong> com.microsoft.playwright.options.MouseButton;<\/p>\n<p><strong>public<\/strong><br \/>\n<strong>class<\/strong> Blog35_RightClick_PWJava {<\/p>\n<p><strong>private<\/strong> Browser browser;<\/p>\n<p><strong>private<\/strong> Page page;<\/p>\n<p>@BeforeMethod<\/p>\n<p><strong>public<\/strong><br \/>\n<strong>void<\/strong> setUp() {<\/p>\n<p>Playwright playwright = Playwright.<em>create<\/em>();\u00a0<\/p>\n<p>browser = playwright.chromium().launch(<strong>new<\/strong> BrowserType.LaunchOptions().setHeadless(<strong>false<\/strong>));<\/p>\n<p>page = browser.newPage();<\/p>\n<p>}<\/p>\n<p>@Test<\/p>\n<p><strong>public<\/strong><br \/>\n<strong>void<\/strong> test_1() {<\/p>\n<p><\/p>\n<p>page.navigate(&#8220;https:\/\/demo.automationtesting.in\/Windows.html&#8221;);<\/p>\n<p>page.locator(&#8220;\/\/*[@id=&#8221;Tabbed&#8221;]\/a\/button&#8221;).click(<strong>new<\/strong> Locator.ClickOptions().setButton(MouseButton.<strong><em>RIGHT<\/em><\/strong>));<\/p>\n<p><strong>try<\/strong> {<\/p>\n<p>Thread.<em>sleep<\/em>(5000);<\/p>\n<p>} <strong>catch<\/strong> (InterruptedException e) {<\/p>\n<p>e.printStackTrace();<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>@AfterMethod<\/p>\n<p><strong>public<\/strong><br \/>\n<strong>void<\/strong> tearDown() {<\/p>\n<p>page.pause();<\/p>\n<p>browser.close();<\/p>\n<p>page.close();<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p><\/p>\n<p><strong>Source code (<\/strong><strong><em>stream()<\/em><\/strong><strong> , <\/strong><strong><em>has-text()<\/em><\/strong><strong>)<\/strong><\/p>\n<p><strong>package<\/strong> com.rsa.playwrightjava;<\/p>\n<p><\/p>\n<p><strong>import<\/strong> java.util.List;<\/p>\n<p><strong>import<\/strong> org.testng.annotations.AfterMethod;<\/p>\n<p><strong>import<\/strong> org.testng.annotations.BeforeMethod;<\/p>\n<p><strong>import<\/strong> org.testng.annotations.Test;<\/p>\n<p><strong>import<\/strong> com.microsoft.playwright.Browser;<\/p>\n<p><strong>import<\/strong> com.microsoft.playwright.BrowserType;<\/p>\n<p><strong>import<\/strong> com.microsoft.playwright.Page;<\/p>\n<p><strong>import<\/strong> com.microsoft.playwright.Playwright;<\/p>\n<p><\/p>\n<p><strong>public<\/strong><br \/>\n<strong>class<\/strong> Blog35_SteamHasText_PWJava {<\/p>\n<p><strong>private<\/strong> Browser browser;<\/p>\n<p><strong>private<\/strong> Page page;<\/p>\n<p>@BeforeMethod<\/p>\n<p><strong>public<\/strong><br \/>\n<strong>void<\/strong> setUp() {<\/p>\n<p>Playwright playwright = Playwright.<em>create<\/em>();\u00a0<\/p>\n<p>browser = playwright.chromium().launch(<strong>new<\/strong> BrowserType.LaunchOptions().setHeadless(<strong>false<\/strong>));<\/p>\n<p>page = browser.newPage();<\/p>\n<p>}<\/p>\n<p>@Test<\/p>\n<p><strong>public<\/strong><br \/>\n<strong>void<\/strong> test_1() {<\/p>\n<p>page.navigate(&#8220;https:\/\/www.amazon.in\/&#8221;);<\/p>\n<p><strong>try<\/strong> {<\/p>\n<p>Thread.<em>sleep<\/em>(5000);<\/p>\n<p>} <strong>catch<\/strong> (InterruptedException e) {<\/p>\n<p>e.printStackTrace();<\/p>\n<p>}<\/p>\n<p>List&lt;String&gt; linksListAmaz = page.locator(&#8220;a:has-text(&#8216;Amazon&#8217;)&#8221;).allInnerTexts();<\/p>\n<p>linksListAmaz.stream().forEach(l -&gt; System.<strong><em>out<\/em><\/strong>.println(l));<\/p>\n<p>}<\/p>\n<p>@AfterMethod<\/p>\n<p><strong>public<\/strong><br \/>\n<strong>void<\/strong> tearDown() {<\/p>\n<p>page.pause();<\/p>\n<p>browser.close();<\/p>\n<p>page.close();<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>Thanks.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"tcb_flag\" style=\"display: none\"><\/div>\n<\/section>\n<p><\/body><\/html><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this blog we will be utilizing Playwright Java to handle mouse right click and will see the usage of steam() and has-text() methods. Topics that we will cover: Mouse \u2018Right click\u2019 operation Usage of stream() and has-text() methods Source code (mouse right click) Source code (stream() , has-text()) Mouse \u2018Right click\u2019 operation Go to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,9],"tags":[],"class_list":["post-3604","post","type-post","status-publish","format-standard","hentry","category-java","category-playwright","post-wrapper","thrv_wrapper"],"_links":{"self":[{"href":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/3604","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=3604"}],"version-history":[{"count":0,"href":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/3604\/revisions"}],"wp:attachment":[{"href":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=3604"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=3604"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=3604"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}