Selenium_等待页面加载完毕
2016-09-21 11:01
429 查看
隐式等待
WebDriver driver = new FirefoxDriver(); driver.get("www.baidu.com"); driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); WebElement element = driver.findElement(By.cssSelector(".abc")); ((JavascriptExecutor)driver).executeScript("arguments[0].style.border = \"5px solid yellow\"",element);
注:隐式等待设置的内容在driver的整个生命周期都有效,所以实际使用过程当中有弊端。
等待20秒元素还不存在,就会抛出异常 org.openqa.selenium.NoSuchElementException
显式等待
显式等待 使用ExpectedConditions类中自带方法, 可以进行显试等待的判断。显式等待可以自定义等待的条件,用于更加复杂的页面等待条件
等待的条件 | WebDriver方法 |
页面元素是否在页面上可用和可被单击 | elementToBeClickable(By locator) |
页面元素处于被选中状态 | elementToBeSelected(WebElement element) |
页面元素在页面中存在 | presenceOfElementLocated(By locator) |
在页面元素中是否包含特定的文本 | textToBePresentInElement(By locator) |
页面元素值 | textToBePresentInElementValue(By locator, java.lang.String text) |
标题 (title) | titleContains(java.lang.String title) |
如果超过设定的最大显式等待时间阈值, 这测试程序会抛出异常。
public static void testWait2(WebDriver driver) { driver.get("www.baidu.com"); WebDriverWait wait = new WebDriverWait(driver, 20); wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".abc"))); WebElement element = driver.findElement(By.cssSelector(".abc")); ((JavascriptExecutor)driver).executeScript("arguments[0].style.border = \"5px solid yellow\"",element); }
相关文章推荐
- Selenium2 入门[3] —— 等待页面加载完毕
- selenium webdriver学习(十一)-怎么等待页面元素加载完成
- selenium webdriver(Appium)如何等待页面元素加载完成
- python selenium等待特定网页元素加载完毕
- 关于selenium的智能等待页面加载的问题
- selenium webdriver学习(十一)------------如何等待页面元素加载完成
- java selenium智能等待页面加载完成示例代码
- python爬虫--selenium等待页面加载
- java selenium (十三) 智能等待页面加载完成
- selenium下拉等待页面完全加载
- selenium+python登录登出百度,等待页面加载,鼠标定位
- 在页面加载完毕前显示等待提示
- Selenium关于等待页面元素加载的解决方案
- Selenium-webdriver系列教程(九)————如何智能的等待页面加载完成
- Selenium-webdriver系列教程(九)————如何智能的等待页面加载完成
- java selenium (十三) 智能等待页面加载完成
- selenium 学习-js执行,事件模拟,页面加载等待
- selenium之如何等待页面元素加载完成
- java selenium (十三) 智能等待页面加载完成
- selenium 等待页面加载完成