From 24c2f6af338373e930b92b42b5d03841564571c2 Mon Sep 17 00:00:00 2001
From: io42630 <ivan@olexyn.com>
Date: Sat, 8 Jun 2024 19:51:00 +0200
Subject: [PATCH] add findAllByCss

---
 pom.xml                                       |  2 +-
 .../java/com/olexyn/tabdriver/TabDriver.java  | 20 +++++++++++++++++--
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/pom.xml b/pom.xml
index a18d1c5..84727a2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,7 +8,7 @@
 		<version>jdk17-0.0</version>
 	</parent>
 	<artifactId>tabdriver</artifactId>
-	<version>1.2.3</version>
+    <version>1.2.4</version>
 	<packaging>jar</packaging>
 
 	<name>tabdriver</name>
diff --git a/src/main/java/com/olexyn/tabdriver/TabDriver.java b/src/main/java/com/olexyn/tabdriver/TabDriver.java
index 1d059dc..e1c6dfa 100644
--- a/src/main/java/com/olexyn/tabdriver/TabDriver.java
+++ b/src/main/java/com/olexyn/tabdriver/TabDriver.java
@@ -26,7 +26,7 @@ import static com.olexyn.tabdriver.Constants.ABOUT_BLANK;
 public class TabDriver implements JavascriptExecutor {
 
     private final Map<String, Tab> tabs = new HashMap<>();
-    private final ChromeDriver  chromeDriver;
+    private final ChromeDriver chromeDriver;
 
     @SuppressWarnings("deprecation")
     public TabDriver(TabDriverConfigProvider configProvider) {
@@ -326,11 +326,27 @@ public class TabDriver implements JavascriptExecutor {
         }
     }
 
+    public synchronized List<WebElement> findAllByCss(String css) {
+        try {
+            return findElements(By.cssSelector(css));
+        } catch (Exception e) {
+            return List.of();
+        }
+    }
+
+    public synchronized List<WebElement> findAllByCss(WebElement context, String css) {
+        try {
+            return context.findElements(By.cssSelector(css));
+        } catch (Exception e) {
+            return List.of();
+        }
+    }
+
     /**
      * Any-Match.
      */
     public synchronized WebElement getByFieldValue(String type, String field, String value) {
-        return findElement(By.cssSelector(type + "[" + field + "*='" + value + "']"));
+        return findElement(By.cssSelector(type + '[' + field + "*='" + value + "']"));
     }
 
     public synchronized void clickByFieldValue(String type, String field, String value) {