为了账号安全,请及时绑定邮箱和手机立即绑定

WebDriver - 使用Java等待元素

WebDriver - 使用Java等待元素

holdtom 2019-07-30 16:34:59
WebDriver - 使用Java等待元素我正在寻找类似于waitForElementPresent检查元素是否在我点击之前显示的东西。我认为这可以通过implicitWait,所以我使用以下内容:driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);然后单击driver.findElement(By.id(prop.getProperty(vName))).click();不幸的是,有时它等待元素,有时候不等。我找了一会儿找到了这个解决方案:for (int second = 0;; second++) {             Thread.sleep(sleepTime);             if (second >= 10)                 fail("timeout : " + vName);             try {                 if (driver.findElement(By.id(prop.getProperty(vName)))                         .isDisplayed())                     break;             } catch (Exception e) {                 writeToExcel("data.xls", e.toString(),                         parameters.currentTestRow, 46);             }         }         driver.findElement(By.id(prop.getProperty(vName))).click();它等了很久,但在超时前它必须等待5次,50秒。有点多。所以我把隐式等待设置为1秒,直到现在一切都好了。因为现在有些事情在超时之前等待10秒,但是其他一些事情在1秒之后会超时。您如何覆盖代码中存在/可见元素的等待?任何提示都很明显。
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 455 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信