Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 硒元素在点处不可单击_Java_Selenium_Jenkins_Cucumber - Fatal编程技术网

Java 硒元素在点处不可单击

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

我有一个cucumber脚本,它正在使用selenium测试我的ui,如果我使用mvn在本地运行它,它似乎运行得很好,但是如果我使用jenkins触发它,那么我会得到上面的错误。还有人看到这个问题吗

我试图通过添加一个wait-until元素来解决这个问题

下面是我的代码:

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();