单击元素总是以失败告终。刚刚发现的原因是,元素还没有准备好点击,因为它带有一些震动动画,即使实现了显式等待方法ExpectedConditions.elementToBeClickable(ele)。在调试模式下,我可以单击。当然。但在运行模式下,没有区别。ElementClickInterceptedException这是个例外。任何想法告诉动画完成,实际上准备被点击?
ExpectedConditions.elementToBeClickable(ele)
ElementClickInterceptedException
1bqhqjot1#
我的建议是通过JavaScript“硬点击”元素:
WebElement element = driver.findElement(By.id("Element's ID Goes Here")); JavascriptExecutor executor = (JavascriptExecutor)driver; executor.executeScript("arguments[0].click();", element);
aoyhnmkz2#
如果Tal Angel的答案对您不起作用,请尝试使用Actions类移动到元素的位置并强制单击事件。
Actions actions = new Actions(driver); actions.moveToElement(ele).click().build().perform();
您需要导入**org.openqa.selenium.interactions.Actions;**做这件事。Runnable example here
2条答案
按热度按时间1bqhqjot1#
我的建议是通过JavaScript“硬点击”元素:
aoyhnmkz2#
如果Tal Angel的答案对您不起作用,请尝试使用Actions类移动到元素的位置并强制单击事件。
您需要导入**org.openqa.selenium.interactions.Actions;**做这件事。
Runnable example here