1

我的代码是这样的,在触发 ajax 请求之前,表行的不透明度为 0.5,一旦 ajax 请求完成,不透明度为 1

我在 waitForCondition 方法中使用表行的不透明度来检查 ajax 请求是否已完成加载。代码不工作,每次都超时。我在 waitForCondition 之前和之后检查了 opacity 的值,返回的值是正确的,但它仍然超时。

我使用的代码是这样的

<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>
4

1 回答 1

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>
于 2012-08-29T07:12:56.457 回答