Hi @qqilihq,
since recently I face the below error. I assume something in the interface changed to the worse:
2024-08-09 21:34:43,492 : ERROR : KNIME-Worker-2801-Click 3:1126:0:972:0:1156:0:1155:0:1140 : : Node : Click : 3:1126:0:972:0:1156:0:1155:0:1140 : Execute failed: element click intercepted: Element <a>...</a> is not clickable at point (732, 583). Other element would receive the click: <div class="current">...</div>
ws.palladian.nodes.selenium.SeleniumNodeExecutionException: element click intercepted: Element <a>...</a> is not clickable at point (732, 583). Other element would receive the click: <div class="current">...</div>
at ws.palladian.nodes.selenium.AbstractWebElementMethodNodeModel.execute(AbstractWebElementMethodNodeModel.java:319)
at org.knime.core.node.NodeModel.execute(NodeModel.java:812)
at org.knime.core.node.NodeModel.executeModel(NodeModel.java:588)
at org.knime.core.node.Node.invokeFullyNodeModelExecute(Node.java:1286)
at org.knime.core.node.Node.execute(Node.java:1049)
at org.knime.core.node.workflow.NativeNodeContainer.performExecuteNode(NativeNodeContainer.java:594)
at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:98)
at org.knime.core.node.workflow.NodeExecutionJob.internalRun(NodeExecutionJob.java:198)
at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:117)
at org.knime.core.util.ThreadUtils$RunnableWithContextImpl.runWithContext(ThreadUtils.java:367)
at org.knime.core.util.ThreadUtils$RunnableWithContext.run(ThreadUtils.java:221)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at org.knime.core.util.ThreadPool$MyFuture.run(ThreadPool.java:123)
at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:246)
Caused by: org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <a>...</a> is not clickable at point (732, 583). Other element would receive the click: <div class="current">...</div>
(Session info: chrome=127.0.6533.89)
Build info: version: '4.22.0', revision: 'c5f3146703*'
System info: os.name: 'Windows 11', os.arch: 'amd64', os.version: '10.0', java.version: '17.0.5'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Command: [4ec61b84fd4a5a4bc5b27d6cfaafe3d1, clickElement {id=f.2CF553BF093CC062915B169F74D5BC9C.d.1367CCA06B384B6FBEA84843AFA4388A.e.44629}]
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 127.0.6533.89, chrome: {chromedriverVersion: 127.0.6533.88 (a2d0cb026721..., userDataDir: C:\Users\MIKEWI~1\AppData\L...}, fedcm:accounts: true, goog:chromeOptions: {debuggerAddress: localhost:7511}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: windows, proxy: Proxy(), se:cdp: ws://localhost:7511/devtool..., se:cdpVersion: 127.0.6533.89, setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:extension:minPinLength: true, webauthn:extension:prf: true, webauthn:virtualAuthenticators: true}
Element: [[ChromeDriver: chrome on windows (4ec61b84fd4a5a4bc5b27d6cfaafe3d1)] -> xpath: //*[@class="section" and .//@id="reservations_active"]//ul[contains(@class, "pagination")]/li[contains(@class, "arrow") and not(contains(@class, "disabled"))][last()]/a[.//*[contains(@class, "fa-angle-right")]]]
Session ID: 4ec61b84fd4a5a4bc5b27d6cfaafe3d1
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Unknown Source)
at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorCodec.decode(ErrorCodec.java:167)
at org.openqa.selenium.remote.codec.w3c.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:138)
at org.openqa.selenium.remote.codec.w3c.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:50)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:190)
at org.openqa.selenium.remote.service.DriverCommandExecutor.invokeExecute(DriverCommandExecutor.java:216)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:174)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:518)
at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:223)
at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:76)
at jdk.internal.reflect.GeneratedMethodAccessor291.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at ws.palladian.nodes.selenium.SeleniumUtils$SeleniumSyncInvocationHandler.invoke(SeleniumUtils.java:45)
at ws.palladian.nodes.selenium.SeleniumUtils$2.invoke(SeleniumUtils.java:208)
at jdk.proxy23/jdk.proxy23.$Proxy101.click(Unknown Source)
at ws.palladian.nodes.selenium.click3.Click3NodeFactory$ClickType.lambda$0(Click3NodeFactory.java:30)
at ws.palladian.nodes.selenium.click3.Click3NodeFactory$ClickType.execute(Click3NodeFactory.java:43)
at ws.palladian.nodes.selenium.click3.Click3NodeFactory$1.execMethod(Click3NodeFactory.java:72)
at ws.palladian.nodes.selenium.AbstractWebElementMethodNodeModel.execute(AbstractWebElementMethodNodeModel.java:317)
... 14 more
I’d like to suggest extending the Click node by a feature to wait until the element becomes clickable because sometimes the UI is still being animated as Selenium is simply to fast.
I can say with certainty that the element is present and was found my a preceding Find Element Node. The element which wrongfully might receive the click is located to the left and should not get it et all.
Another suggestion might be to add an option to force click, mitigating false positives.
Best
Mike