private boolean isElementPresent(By by) {
try {
driver.findElement(by);
return true;
} catch (NoSuchElementException e) {
return false;
}
catch (Exception e)
{
return false;
}
}
isElementPresent(By.xpath(".//*[@id='header']")));
如果这是存在的,这个函数很快完成,但如果上面不存在,那么它运行很长时间。
有人能帮我解决这个问题吗?这样检查就可以很快进行了?
在这里,你错过了一些东西,这就是为什么它等待,如果没有元素。findElement将等待元素隐式指定的时间。所以需要在该方法中将时间设置为零。
isElementPresent(WebDriver driver, By by) {
driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);
try {
driver.findElement(by);
return true;
} catch (NoSuchElementException e) {
return false;
} finally {
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
}
这里有4件重要的事情在进行。按顺序:
>
将implicity_wait设置为0,以便WebDriver不会隐式等待。
问题内容: 我正在使用以下代码检查网页上的元素 我需要检查程序是否在特定区域中显示了如下结果 如果存在此功能,则该功能将快速完成,但是如果不存在以上功能,则它将运行很长时间。 有人可以帮我解决这个问题,以便快速进行检查吗? 问题答案: 在这里,您缺少了某些东西,这就是为什么它在等待的原因如果没有元素。findElement将等待元素隐式指定的时间。因此需要在该方法中将该时间设置为零。 这里有4件重
在我正在测试的页面中,可能会显示两个按钮:BASIC或Advanced。 我想知道高级按钮是否显示--如果显示,请单击它。
问题内容: 我正在尝试编写一个脚本,该脚本需要根据CSS选择器找到的特定浏览器对象是否存在来适应其工作流程行为。 我不想使用document.getElementByID方法,因为从技术上讲,这不是CSS选择器,并且我们整个企业都在CSS选择器上进行了标准化,因此在DOM以外的其他任何选择都不会使CSS选择器超出我们的代码审查过程无论如何。 ThingSelector在哪里: OpenThing在
问题内容: 我想解组一个包含数据集合的xml文件,像这样 我们知道这可以通过两个类完成:人员,使用Castor的人员,JAXB或其他框架。 但是,如果不编写收集类的Persons怎么办? 问题答案: 寻找一种方法来告诉Castor您希望它生成一个Person实例。 http://www.castor.org/how-to-map-a-list-at- root.html
我真的需要有人帮忙。我有非常非常奇怪的代码,即使只写2个单元格也要花35秒。(两倍于智能手机等设备)。 注:在计算过程中,这两种方法都没有问题。他们挺快的。不需要调试这些 null null
问题内容: 这是我的json: 有什么方法可以在不知道键是什么的情况下访问此数组中的键和值(在javascript中)? 我的json这样构造的原因是,我通过jquery调用的网络方法正在返回字典。如果无法使用上述方法,那么我需要对返回数据的方式进行哪些更改? 这是我的网络方法的概述: 问题答案: 您可以使用该构造遍历对象的任意属性: