如何使用 Selenium 和 JavaScript 等待 img src 属性发生变化?
How to wait for img src attribute to change using Selenium and JavaScript?
假设我有一个元素:
<div>
<img src='src1'>
</div>
一段时间后 src
更改为其他 link
那么我该如何等待它(或一般的 属性)改变呢?
可能是这样的:
await driver.wait(until.elementAttributeChanged(el,'src'),3000);
等待 <img>
的 src 属性使用 and node.js you can use the following until 条件更改:
stalenessOf( element )
:创建一个条件,等待给定元素变得陈旧。元素一旦从 DOM 中删除或加载了新页面,即被视为过时。
let element = await driver.findElement(By.id('elementID'));
await driver.wait(until.stalenessOf(element),1000);
只是为了让 DebanjanB 的回答更准确。
由于我们要指示某些元素的 src
属性值的变化,我们可以使用基于该元素的 src
属性值的定位器。所以代码可以是这样的:
let element = await driver.findElement(By.xpath('//img[@src="src1"]'));
await driver.wait(until.stalenessOf(element),1000);
假设我有一个元素:
<div>
<img src='src1'>
</div>
一段时间后 src
更改为其他 link
那么我该如何等待它(或一般的 属性)改变呢?
可能是这样的:
await driver.wait(until.elementAttributeChanged(el,'src'),3000);
等待 <img>
的 src 属性使用
stalenessOf( element )
:创建一个条件,等待给定元素变得陈旧。元素一旦从 DOM 中删除或加载了新页面,即被视为过时。let element = await driver.findElement(By.id('elementID')); await driver.wait(until.stalenessOf(element),1000);
只是为了让 DebanjanB 的回答更准确。
由于我们要指示某些元素的 src
属性值的变化,我们可以使用基于该元素的 src
属性值的定位器。所以代码可以是这样的:
let element = await driver.findElement(By.xpath('//img[@src="src1"]'));
await driver.wait(until.stalenessOf(element),1000);