选择器,确认使用Selenium Python API加载的图像
Selector that confirms image loaded using Selenium Python API
我正在寻找一种方法来确认图像已实际加载。也许JavaScript是一个选择?我现在使用WebdriverWait
来简单地强制等待所有图像,然后是实际的src
,然后我最终在…
wait = WebDriverWait(driver, 10)
...
albums = wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, ".albums .album img")))
albumslength = len(albums)-1
while albumslength > 0:
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, ('.album:nth-child('+str(albumslength)+') img[src*="album-foo"]'))))
albumslength -= 1
...
这将在某个时刻确认"album-foo"在相册中每个专辑的<img src="http://www.album-foo/images/blah.jpg"
中存在。但它并不能确认图像已经加载到视图中。我到处都找过了,有人有办法吗?
我正在测试Chrome和Firefox,所以没有幻影或IE限制,如果想法成长为包括JavaScript或相关的想法,可能有环境限制。
我对硒没有经验,尽管我会尝试一下。如果你想检查图像是否被加载,我会说使用布尔值。设置这个布尔值的初始值,比如'loaded'为false。
然后像这样调用,确保它在加载图像的那一刻返回true。
Boolean loaded = false;
WebDriver driver = new AnyDriverYouWant();
JavascriptExecutor js;
if (driver instanceof JavascriptExecutor) {
js = (JavascriptExecutor)driver;
}
loaded = (Boolean)js.executeScript("image.onload(function() { return true; });");
相关文章:
- Google Map JS API-加载地图分幅,但所有图像(标记、缩放控制等)都不加载;t负载2分钟
- 使用JavaScript和Twitter API加载推文
- 如何使用谷歌地图api加载带有当前地址的地图
- YouTube Javascript API:加载在 Firefox 中不起作用
- 谷歌地图 API 加载问题
- 谷歌地图API加载缓慢,有许多标记
- JWPlayer在使用API加载方法时无法在iPad / iPhone上播放
- 在使用 KnockoutJS 从 API 加载字段后,将字段添加到 observableArray
- Rails & Youtube API:加载 iframe 时出现问题
- Vimeo API - 加载视频
- 仅从Google API加载特定字体
- 关于使用YouTube播放器API加载播放列表
- 谷歌地图Javascript API加载不正确
- 当应用程序从图形api加载时,如何获得应用程序的用户
- 谷歌地图API加载了一秒钟,然后说检查js控制台,但没有警告或错误,任何想法
- 使用API加载YouTube视频
- Ember.js从API加载简单数据
- 如何用Realtime API加载现有的大型数据模型?
- 错误:[ng:areq]试图从WEB API加载数据
- 如何告诉谷歌地图API加载脚本在React组件中寻找回调