selenium获取网页加载时间(selenium 等待网页加载完毕)
如果你设置了默认的30秒超时,30秒之后未加载完毕的话 肯定会抛异常是吧逮住异常 然后操作不就好了么。
没错,简书的文章并不是常规的。
我当时遇到的问题是chromedriveexe版本过低和chrome浏览器兼容性不好,可以试一下高版本的chromedriveexe试一下,仅供产考。
如果确定是有的话,可能是页面加载比较慢还没加载出来,selenium默认是不会等待对象出现的,需要在找对象前加一些等待时间另外如果页面上有iframe的话需要先切换进去才能找到里面的对象。
显示等待一般作用于某一个元素,在设定的时间范围内,默认每间隔05秒查找元素返回被加载的元素,若超过设定的时间范围未能查找则报错显示等待作为selenium常用的等待机制,我们来看下他的源码和机制driver 注释中解释为。
1 Web performance APIs ,可以得到各种时间比如dns解析时间连接时间跳转时间加载时间等指标,具体请自行查资料,不赘述2 浏览器的私有API,比如 chromeloadTimes3 DOM readyload 事件4 白屏时间firs。
“超时时间为30秒,但依然程序没反应”另一种可能是你程序写的有问题先手动刷新看看是否30秒能加载完成,如果还是没有完成那就是网页的问题如果手动刷新,能在30秒内加载完成,那就是你的程序写的有问题喽。
可以 Selenium是一个用于Web应用程序测试的工具Selenium测试直接运行在浏览器中,就像真正的用户在操作一样支持的浏览器包括IE7, 8, 9, 10, 11,Mozilla Firefox,Safari,GoogleChrome,Opera,Edge等这个工具的。