Locator.boundingBox() method returns the bounding box of the element, or null if the element is not visible.
Signature
BoundingBox boundingBox()
BoundingBox boundingBox(BoundingBoxOptions options)
Example
BoundingBox boundingBox = page.locator(".div1").boundingBox();
Find the below working application.
boundingBox.html
<!DOCTYPE HTML>
<html>
<head>
<style>
div.div1 {
display: flex;
justify-content: center;
align-items: center;
position: relative;
width: 20px;
height: 250px;
}
div.div2 {
position: absolute;
width: 100%;
height: 100%;
}
div.div2:hover {
background-color: rgb(244, 199, 236);
}
div.content {
background-color: rgb(192, 233, 211);
}
</style>
</head>
<body>
<div class="div1">
<div class="div2"></div>
<div class="content">Hi there!!!!</div>
</div>
</body>
</html>
FileUtil.java
package com.sample.app.util;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
public class FileUtil {
public static String resourceAsString(String resourceName) throws IOException {
ClassLoader classLoader = FileUtil.class.getClassLoader();
URL url = classLoader.getResource(resourceName);
if (url == null) {
return null;
}
URLConnection urlConnection = url.openConnection();
urlConnection.setUseCaches(false);
try (InputStreamReader inputStreamReader = new InputStreamReader(urlConnection.getInputStream())) {
char[] buffer = new char[1048];
StringBuilder builder = new StringBuilder();
int count = -1;
while ((count = inputStreamReader.read(buffer, 0, buffer.length)) != -1) {
builder.append(buffer, 0, count);
}
return builder.toString();
}
}
}
BoundingBoxDemo.java
package com.sample.app.locators;
import java.io.File;
import java.io.IOException;
import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;
import com.microsoft.playwright.options.BoundingBox;
import com.sample.app.util.FileUtil;
public class BoundingBoxDemo {
public static void main(String[] args) throws IOException {
try (Playwright playwright = Playwright.create()) {
Browser browser = playwright.chromium()
.launch(new BrowserType.LaunchOptions().setHeadless(false).setSlowMo(100));
final String content = FileUtil.resourceAsString("locators" + File.separator + "boundingBox.html");
Page page = browser.newPage();
page.setContent(content);
BoundingBox boundingBox = page.locator(".div1").boundingBox();
double height = boundingBox.height;
double width = boundingBox.width;
double x = boundingBox.x;
double y = boundingBox.y;
System.out.println("height : " + height);
System.out.println("width : " + width);
System.out.println("x : " + x);
System.out.println("y : " + y);
}
}
}
Output
height : 250.0 width : 250.0 x : 8.0 y : 8.0
Previous Next Home
No comments:
Post a Comment