隐式等待

WebDriver driver = newFirefoxDriver();

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 voidtestWait2(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);

}

python selenium 等待页面加载完毕_Selenium_等待页面加载完毕相关推荐

  1. python +selenium+phantomjs 登录爬取新浪微博动态js页面

    登录新浪微博 最近新浪微博好烦,都取消不了验证码这个难搞得东西,而且跳来跳去,一改版以前的代码就都不能用了.目前整理的资料有三种方法: 1. 设Cookie:简单粗暴,免去了模拟登录的好多麻烦,只是要 ...

  2. python selenium 等待页面加载_python selenium 三种等待方式详解(实战常用)

    引言: 当你觉得你的定位没有问题,但是却直接报了元素不可见,那你就可以考虑是不是因为程序运行太快或者页面加载太慢造成了元素不可见,那就必须要加等待了,等待元素可见再继续运行程序: 注:当使用该放发的时 ...

  3. Python selenium页面加载缓慢,超时解决办法

    最近在编写selenium自动化测试框架,遇到一个烦人的问题, driver.get()不执行完,浏览器页面一直在转圈圈,下面的代码根本就不会执行,耗时一天的时间终于解决了. 原理:driver.ge ...

  4. Python Selenium.WebDriver 最强详解页面加载策略

    Python Selenium.WebDriver 网页加载策略『详细』 文章目录 Python Selenium.WebDriver 网页加载策略『详细』 一.网页加载策略

  5. python selenium 爬取js加载的内容为空,Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容...

    1,引言 在Python网络爬虫内容提取器一文我们详细讲解了核心部件:可插拔的内容提取器类gsExtractor.本文记录了确定gsExtractor的技术路线过程中所做的编程实验.这是第二部分,第一 ...

  6. html加载状态,js等待页面加载完成

    页面加载完成后等待一段时间在执行js的方法,时间例如方法: function test(){return 1;} 页面加载完毕事件: window.onload = function(){ setTi ...

  7. python selenium截图_利用 Python + Selenium 实现对页面的指定元素截图(可截长图元素)...

    对WebElement截图 WebDriver.Chrome自带的方法只能对当前窗口截屏,且不能指定特定元素.若是需要截取特定元素或是窗口超过了一屏,就只能另辟蹊径了. WebDriver.Phant ...

  8. Python selenium —— 一定要会用selenium的等待,三种等待方式解读

    发现太多人不会用等待了,博主今天实在是忍不住要给大家讲讲等待的必要性. 很多人在群里问,这个下拉框定位不到.那个弹出框定位不到-各种定位不到,其实大多数情况下就是两种问题:1 有frame,2 没有加 ...

  9. python截长图_利用 Python + Selenium 实现对页面的指定元素截图(可截长图元素)

    对WebElement截图 WebDriver.Chrome自带的方法只能对当前窗口截屏,且不能指定特定元素.若是需要截取特定元素或是窗口超过了一屏,就只能另辟蹊径了. WebDriver.Phant ...

最新文章

  1. tomcat 默认150连接数怎么支持几万大并发的?集群?
  2. linux eof tmp目录,Linux学习-标准输入输出(示例代码)
  3. 2018.5.12说说反射的用途及实现------要再花费时间加强理解
  4. node nest 框架学习(一)
  5. 从源码搭建PCL1.7.2+vs2015+win10
  6. ActiveMq Windows 配置优化
  7. 把本地文件上传到gitee
  8. 手机MODEM 开发(24)---93 modem如何打开GSM AMR-WB
  9. 使用C#创建Windows服务 并发布Windows 服务
  10. 一名亚马逊软件工程师的辛酸苦楚
  11. 【前端图表】echarts散点图鼠标划过散点显示信息
  12. php时间变时间戳,php 时间如何转换为时间戳
  13. Python随机生成姓名+电话号码+邮箱
  14. iastora怎么改成ahci_WIN7系统IDE改成AHCI就蓝屏怎么办_win7硬盘模式ide改成ahci蓝屏处理方法-win7之家...
  15. H5+CSS 实现前面带搜索图标的搜索框
  16. 程序员根本不是稳定工作!
  17. 【性能测试】轻商城-项目实战3
  18. 浅谈Web大数据可视化平台开发流程
  19. 从 “ 我爱你 ” 到 “ 我爱钱 ”
  20. 《关于2010年计算机信息系统集成项目经理资质申报有关事项的通知》

热门文章

  1. LTE Paging时频资源
  2. samba srver on centos-7
  3. 用stm32f10x建立新的工程重要步骤
  4. LabelMe图像数据集下载
  5. 一个简单的缓冲区溢出的思考
  6. HTTP头入门到精通(每一个HTTP消息头解释)
  7. 用C语言扩展PHP功能
  8. 提高IIS网站服务器的效率的八种方法 (转载)
  9. 设计模式之C#实现--FactoryMethod
  10. 在ASP.NET中使用WINDOWS模式登录SQL数据库