From 231d547beae623903ada35c7916e89c6c7df7290 Mon Sep 17 00:00:00 2001 From: Mior Muhammad Zaki Date: Sat, 15 Jun 2024 15:24:19 +0800 Subject: [PATCH] wip Signed-off-by: Mior Muhammad Zaki --- src/Options.php | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/Options.php b/src/Options.php index f9a57659..a28a1923 100644 --- a/src/Options.php +++ b/src/Options.php @@ -37,6 +37,13 @@ class Options */ public static $arguments = []; + /** + * Apply `ChromeOptions` configuration using a callback. + * + * @var (\Closure(\Facebook\WebDriver\Chrome\ChromeOptions):(void)):null + */ + public static $chromeOptionsCallback = null; + /** * Reset arguments. * @@ -47,6 +54,19 @@ public static function resetArguments(): void static::$arguments = []; } + /** + * Set `ChromeOptions` callback. + * + * @param (\Closure(\Facebook\WebDriver\Chrome\ChromeOptions):(void)):null $callback + * @return static + */ + public static function using($callback) + { + static::$chromeOptionsCallback = $callback; + + return new static(); + } + /** * Add a browser option. * @@ -216,6 +236,8 @@ public static function getChromeOptions() if (static::$w3cCompliant === false) { $option->setExperimentalOption('w3c', static::$w3cCompliant); } + + value(static::$chromeOptionsCallback); })->addArguments(static::$arguments); } }