I saved the file you attached into a Katlaon project’ directory with the name “page.html”.
I wrote the following testcase.
import java.nio.file.Path
import java.nio.file.Paths
import org.openqa.selenium.By
import org.openqa.selenium.WebDriver
import org.openqa.selenium.WebElement
import com.kms.katalon.core.configuration.RunConfiguration
import com.kms.katalon.core.testobject.ConditionType
import com.kms.katalon.core.testobject.TestObject as TestObject
import com.kms.katalon.core.webui.driver.DriverFactory
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
String filePath = "./page.html"
Path html = Paths.get(RunConfiguration.getProjectDir()).resolve(filePath)
URL htmlURL = html.toFile().toURI().toURL()
WebUI.openBrowser(htmlURL.toString())
String xpath = "//div[@class='product-grid__item']"
TestObject tObj = new TestObject()
tObj.addProperty("xpath", ConditionType.EQUALS, xpath)
// wait for the elements to be loaded
WebUI.verifyElementPresent(tObj,10)
WebDriver driver = DriverFactory.getWebDriver();
List<WebElement> elements = driver.findElements(By.xpath(xpath))
WebUI.comment("elements.size()=${elements.size()}")
WebUI.closeBrowser()
When I ran it, it worked fine.
2020-05-14 15:15:28.138 INFO c.k.katalon.core.main.TestCaseExecutor - START Test Cases/TC1
2020-05-14 15:15:29.168 DEBUG testcase.TC1 - 1: filePath = "./page.html"
2020-05-14 15:15:29.173 DEBUG testcase.TC1 - 2: html = get(getProjectDir()).resolve(filePath)
2020-05-14 15:15:29.188 DEBUG testcase.TC1 - 3: htmlURL = toURI().toURL()
2020-05-14 15:15:29.205 DEBUG testcase.TC1 - 4: openBrowser(htmlURL.toString())
2020-05-14 15:15:29.902 INFO c.k.k.core.webui.driver.DriverFactory - Starting 'Firefox' driver
5 14, 2020 3:15:29 午後 org.openqa.selenium.remote.DesiredCapabilities firefox
情報: Using `new FirefoxOptions()` is preferred to `DesiredCapabilities.firefox()`
2020-05-14 15:15:30.156 INFO c.k.k.core.webui.driver.DriverFactory - Action delay is set to 0 seconds
1589436932011 mozrunner::runner INFO Running command: "/Applications/Firefox.app/Contents/MacOS/firefox-bin" "-marionette" "-foreground" "-no-remote" "-profile" "/var/folders/7m/lm7d6nx51kj0kbtnsskz6r3m0000gn/T/rust_mozprofile.kjXHa9RYBTFM"
1589436932644 addons.webextension.<unknown> WARN Loading extension 'null': Reading manifest: Warning processing permissions: Error processing permissions.12: Value "debugger" must either: must either [must either [be one of ["clipboardRead", "clipboardWrite", "geolocation", "idle", "notifications"], be one of ["bookmarks"], be one of ["find"], be one of ["history"], be one of ["menus.overrideContext"], be one of ["search"], be one of ["topSites"], be one of ["activeTab", "tabs", "tabHide"], be one of ["browserSettings"], be one of ["cookies"], be one of ["downloads", "downloads.open"], be one of ["privacy"], be one of ["webRequest", "webRequestBlocking"], or be one of ["webNavigation"]], be one of ["alarms", "mozillaAddons", "storage", "unlimitedStorage"], be one of ["browsingData"], be one of ["captivePortal"], be one of ["devtools"], be one of ["identity"], be one of ["menus", "contextMenus"], be one of ["normandyAddonStudy"], be one of ["pkcs11"], be one of ["geckoProfiler"], be one of ["sessions"], be one of ["urlbar"], be one of ["contextualIdentities"], be one of ["dns"], be one of ["activityLog"], be one of ["management"], be one of ["networkStatus"], be one of ["proxy"], be one of ["nativeMessaging"], be one of ["telemetry"], be one of ["theme"], or match the pattern /^experiments(\.\w+)+$/], or must either [be one of ["<all_urls>"], must either [match the pattern /^(https?|wss?|file|ftp|\*):\/\/(\*|\*\.[^*/]+|[^*/]+)\/.*$/, or match the pattern /^file:\/\/\/.*$/], or match the pattern /^resource:\/\/(\*|\*\.[^*/]+|[^*/]+)\/.*$|^about:/]
1589436932645 addons.webextension.<unknown> WARN Loading extension 'null': Reading manifest: Warning processing offline_enabled: An unexpected property was found in the WebExtension manifest.
1589436932747 addons.webextension.doh-rollout@mozilla.org WARN Loading extension 'doh-rollout@mozilla.org': Reading manifest: Invalid extension permission: networkStatus
1589436932768 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: mozillaAddons
1589436932768 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: telemetry
1589436932769 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: resource://pdf.js/
1589436932769 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: about:reader*
1589436933169 addons.webextension.{54dcd9e9-903f-43e9-95f0-22bd0e0f3c0a} WARN Loading extension '{54dcd9e9-903f-43e9-95f0-22bd0e0f3c0a}': Reading manifest: Warning processing permissions: Error processing permissions.12: Value "debugger" must either: must either [must either [be one of ["clipboardRead", "clipboardWrite", "geolocation", "idle", "notifications"], be one of ["bookmarks"], be one of ["find"], be one of ["history"], be one of ["menus.overrideContext"], be one of ["search"], be one of ["topSites"], be one of ["activeTab", "tabs", "tabHide"], be one of ["browserSettings"], be one of ["cookies"], be one of ["downloads", "downloads.open"], be one of ["privacy"], be one of ["webRequest", "webRequestBlocking"], or be one of ["webNavigation"]], be one of ["alarms", "mozillaAddons", "storage", "unlimitedStorage"], be one of ["browsingData"], be one of ["captivePortal"], be one of ["devtools"], be one of ["identity"], be one of ["menus", "contextMenus"], be one of ["normandyAddonStudy"], be one of ["pkcs11"], be one of ["geckoProfiler"], be one of ["sessions"], be one of ["urlbar"], be one of ["contextualIdentities"], be one of ["dns"], be one of ["activityLog"], be one of ["management"], be one of ["networkStatus"], be one of ["proxy"], be one of ["nativeMessaging"], be one of ["telemetry"], be one of ["theme"], or match the pattern /^experiments(\.\w+)+$/], or must either [be one of ["<all_urls>"], must either [match the pattern /^(https?|wss?|file|ftp|\*):\/\/(\*|\*\.[^*/]+|[^*/]+)\/.*$/, or match the pattern /^file:\/\/\/.*$/], or match the pattern /^resource:\/\/(\*|\*\.[^*/]+|[^*/]+)\/.*$|^about:/]
1589436933169 addons.webextension.{54dcd9e9-903f-43e9-95f0-22bd0e0f3c0a} WARN Loading extension '{54dcd9e9-903f-43e9-95f0-22bd0e0f3c0a}': Reading manifest: Warning processing offline_enabled: An unexpected property was found in the WebExtension manifest.
1589436935863 Marionette INFO Listening on port 56359
1589436935916 Marionette WARN TLS certificate errors will be ignored for this session
1589436935928 Marionette INFO Proxy settings initialised: {"proxyType":"direct"}
5 14, 2020 3:15:36 午後 org.openqa.selenium.remote.ProtocolHandshake createSession
情報: Detected dialect: W3C
2020-05-14 15:15:36.128 INFO c.k.k.core.webui.driver.DriverFactory - sessionId = d8d7262a-7598-f648-9ef8-b035b588cf44
2020-05-14 15:15:36.263 INFO c.k.k.core.webui.driver.DriverFactory - browser = Firefox 75.0
2020-05-14 15:15:36.264 INFO c.k.k.core.webui.driver.DriverFactory - platform = Mac OS X
2020-05-14 15:15:36.265 INFO c.k.k.core.webui.driver.DriverFactory - seleniumVersion = 3.141.59
2020-05-14 15:15:36.269 INFO c.k.k.core.webui.driver.DriverFactory - proxyInformation = ProxyInformation{proxyOption=NO_PROXY, proxyServerType=HTTP, password=, proxyServerAddress=, proxyServerPort=0, executionList=}
2020-05-14 15:15:38.984 DEBUG testcase.TC1 - 5: xpath = "//div[@class='product-grid__item']"
2020-05-14 15:15:38.986 DEBUG testcase.TC1 - 6: tObj = new com.kms.katalon.core.testobject.TestObject()
2020-05-14 15:15:39.025 DEBUG testcase.TC1 - 7: tObj.addProperty("xpath", EQUALS, xpath)
2020-05-14 15:15:39.061 DEBUG testcase.TC1 - 8: verifyElementPresent(tObj, 10)
2020-05-14 15:15:39.686 DEBUG testcase.TC1 - 9: driver = getWebDriver()
2020-05-14 15:15:39.701 DEBUG testcase.TC1 - 10: elements = driver.findElements(By.xpath(xpath))
2020-05-14 15:15:39.959 DEBUG testcase.TC1 - 11: comment(elements.size()=$elements.size())
2020-05-14 15:15:40.057 INFO c.k.k.c.keyword.builtin.CommentKeyword - elements.size()=2
2020-05-14 15:15:40.067 DEBUG testcase.TC1 - 12: closeBrowser()
1589436940163 Marionette INFO Stopped listening on port 56359
2020-05-14 15:15:41.773 INFO c.k.katalon.core.main.TestCaseExecutor - END Test Cases/TC1
I do not see why you have a problem. HTML is fine, XPath is OK. Then what? Your test case script must have something mysterious.