Java Selenium在浏览器(Chrome)隐藏时失败,但在浏览器可见时成功
标题说明了一切:当Chrome被隐藏时,Selenium会失败(我使用Mac,可以“隐藏”正在运行的应用程序),但当浏览器可见时,Selenium会成功 发生的情况是,我在第1页(P1)上发送了一个点击,该点击被接受,并且Chrome/Chromedriver以某种方式报告说第2页(P2)已加载完毕,但当我尝试在P2处使用if(driver.findelelements(By.xpath(xpMail)).size()>0)查找元素时,它不在那里,无论我在检查之前休眠程序多长时间 但是,如果我通过将Chrome带到前面来激活它,就会立即找到该元素。此问题特定于P1/P2。我运行的脚本在P1/P2前后执行几十个步骤,没有任何问题,与浏览器是否隐藏或在前台可见无关 一些简化代码:Java Selenium在浏览器(Chrome)隐藏时失败,但在浏览器可见时成功,java,selenium,google-chrome,selenium-chromedriver,Java,Selenium,Google Chrome,Selenium Chromedriver,标题说明了一切:当Chrome被隐藏时,Selenium会失败(我使用Mac,可以“隐藏”正在运行的应用程序),但当浏览器可见时,Selenium会成功 发生的情况是,我在第1页(P1)上发送了一个点击,该点击被接受,并且Chrome/Chromedriver以某种方式报告说第2页(P2)已加载完毕,但当我尝试在P2处使用if(driver.findelelements(By.xpath(xpMail)).size()>0)查找元素时,它不在那里,无论我在检查之前休眠程序多长时间 但是,如果我通
do {
if (driver.findElements(By.xpath(xpMail)).size() > 0) {
Utilities.clearSendKeysAndWaitRandomLength(driver, xpMail, finalEmail, avgDelay);
} else {
Thread.sleep(500);
}
if (i%5 == 0 ) {
Toolkit.getDefaultToolkit().beep();
driver.get(URL);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath(xpLand)));
Utilities.clickAndWaitRandomLength(driver, xpLand, avgDelay);
}
if (i > 25) {
break;
}
i++;
} while (variable == 0);
知道为什么会这样吗?变通办法?在这一步之前,我是否可以通过编程的方式将Chrome带到前台,然后再将其隐藏