Java 硒元素在点处不可单击
我有一个cucumber脚本,它正在使用selenium测试我的ui,如果我使用mvn在本地运行它,它似乎运行得很好,但是如果我使用jenkins触发它,那么我会得到上面的错误。还有人看到这个问题吗 我试图通过添加一个wait-until元素来解决这个问题 下面是我的代码:Java 硒元素在点处不可单击,java,selenium,jenkins,cucumber,Java,Selenium,Jenkins,Cucumber,我有一个cucumber脚本,它正在使用selenium测试我的ui,如果我使用mvn在本地运行它,它似乎运行得很好,但是如果我使用jenkins触发它,那么我会得到上面的错误。还有人看到这个问题吗 我试图通过添加一个wait-until元素来解决这个问题 下面是我的代码: public void userClick() throws InterruptedException { WebDriverWait w = new WebDriverWait(d, 10); w.unt
public void userClick() throws InterruptedException {
WebDriverWait w = new WebDriverWait(d, 10);
w.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//span[text()='Mine']/parent:span/parent::a")));
d.findElement(By.xpath("//span[text()='Mine']/parent::span/parent::a")).click();
Thread.sleep(2000);
}
使用
elementtobelickable
并遵循xpath,而不是elementlocated的可见性
WebDriverWait w = new WebDriverWait(d, 20);
w.until(ExpectedConditions.elementToBeClickable(By.xpath("//a[.//span[text()='Mine']]"))).click();
或
希望这对您有用。有时会发生这种情况,因为当您在其他地方运行测试时,会使用不同的窗口大小(特别是在无头模式下),这使得UI组件在某些情况下相互重叠。这使得其中一些组件与假定发送到其他组件的单击相交
等待在这里没有帮助
解决方案是显式地将屏幕大小设置为应用程序支持的最小值。我意识到我的解决方案是问题所在chromeOptions.addArguments(窗口大小=19201080”)
谢谢!刚刚尝试过,似乎无论我设置了多长时间超时,元素都不会被点击。知道为什么吗?你能分享这个url进行调查吗?这是一个内部url,我不知道如何调试它。你知道selenium在jenkins上是如何工作的吗?我想可能是因为它试图打开浏览器
WebDriverWait w = new WebDriverWait(d, 10);
w.until(ExpectedConditions.elementToBeClickable(By.xpath("//span[text()='Mine']"))).click();