我正在尝试通过XPath查找元素:尝试添加等待加载页面的尝试,并且还尝试向下滚动页面。但相同的错误
driver.findElement(By.xpath(“ // text()[包含(。,'添加投资组合')] / ancestor :: a [1]”))。click();
未知错误:元素...在点(326,302)不可单击。其他元素将获得点击:...
答案 0 :(得分:0)
添加ExplicitWait等待元素可见/可点击
webDriverWait waitForElement = WebDriverWait(new TimeSpan(0, 0, 15));
waitForElement.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementToBeClickable(by));
答案 1 :(得分:0)
这可能会对您有所帮助,但请确保该窗口中没有警报或弹出窗口处于活动状态。
WebDriverWait wait = new WebDriverWait(driver,60);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("xpath_of_elm")));
Actions action = new Actions(driver);
action.moveToElement(driver.findElement(By.xpath("xpath_of_elm"))).click().build().perform();
答案 2 :(得分:0)
我建议您在此处使用JavascriptExecutor click方法。
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", element);
如果这仍然不起作用,则检查屏幕上是否有任何加载图像;在这种情况下,您将需要等待该图像消失。