selenium 等待特定元素出现

刚开始用selenium,老是出现某个元素未找到的情况,我就采用比较笨的方法Thread.sleep(1000);这种方法确实能解决问题,但是看不够灵活,而且写完代码后发现整个业务层有很多的ThreaThread.sleep(1000),代码比较不整齐,一下介绍两种等待元素出现的方式:

1.隐形等待某个元素出现,就是将等待元素出现的操作设置为全局的,driver的整个生命周期都起作用,我比较喜欢这种方式,简单而且感觉是一劳永逸的事情。

     dr.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
2.明确等待某个元素出现,就是在对某个元素操作之前,等待这个特定的元素是否出现。

WebDriverWait wait = new WebDriverWait(dr,10);
		wait.until(new ExpectedCondition<WebElement>(){
			@Override
			public WebElement apply(WebDriver d) {
				return d.findElement(By.id("b"));
			}}).click();

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值