我的代码是这样的,在触发ajax请求之前,表行的不透明度为0.5,一旦ajax请求完成,不透明度为1
我在waitForCondition方法中使用表行的不透明度来检查ajax请求是否已完成加载。代码不起作用,每次都超时。我已经在waitForCondition之前和之后检查了不透明度的值,并且返回的值是正确的,但它仍然是超时的。
我使用的代码就像这样
<tr>
<td>echo</td>
<td>javascript{selenium.browserbot.getCurrentWindow().document.getElementsByTagName('tbody')[0].getElementsByTagName('tr')[0].style.opacity}</td>
<td></td>
</tr>
<tr>
<td>waitForCondition</td>
<td>javascript{selenium.browserbot.getCurrentWindow().document.getElementsByTagName('tbody')[0].getElementsByTagName('tr')[0].style.opacity == 1}</td>
<td>30000</td>
</tr>
<tr>
<td>echo</td>
<td>javascript{selenium.browserbot.getCurrentWindow().document.getElementsByTagName('tbody')[0].getElementsByTagName('tr')[0].style.opacity}</td>
<td></td>
</tr>
答案 0 :(得分:0)
我已经找到了解决问题的方法。
我不需要在waitForCondition中使用javascript {}构造,因为这个方法隐含地认为我们给这个方法提供了一个javascript。
所以,正确的表达是:
<tr>
<td>waitForCondition</td>
<td>selenium.browserbot.getCurrentWindow().document.getElementsByTagName('tbody')[0].getElementsByTagName('tr')[0].style.opacity == 1</td>
<td>30000</td>
</tr>