Selenium:页面可用时如何自动刷新

Selenium:页面可用时如何自动刷新,selenium,selenium-ide,Selenium,Selenium Ide,我创建了一个selenium的小测试,以便在发布鞋子的那一刻在不同的网站上购买一双鞋子,我希望我的测试能够在页面上反复刷新,直到鞋子可用为止,这样我就不应该一直在pc上启动所有测试。这是可能的吗 提前谢谢 这是我的代码: <tr> <td>open</td> <td> LINK SHOE</td> <td></td> </tr> <tr> <td>click</td>

我创建了一个selenium的小测试,以便在发布鞋子的那一刻在不同的网站上购买一双鞋子,我希望我的测试能够在页面上反复刷新,直到鞋子可用为止,这样我就不应该一直在pc上启动所有测试。这是可能的吗

提前谢谢

这是我的代码:

<tr>
<td>open</td>
<td> LINK SHOE</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>css=div.opt-sel</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//div[@id='content']/div[3]/div[2]/div[2]/div/div[2]/div[2]/div/ul/li[6]/div/</td>
<td></td>
</tr>
</tbody></table>
</body> 
</html>

打开
链靴
点击
css=div.opt-sel
点击
//div[@id='content']/div[3]/div[2]/div/div[2]/div[2]/div[2]/div/ul/li[6]/div/

我们的想法是使用类似的代码:

// your first condition of opening a page of shoe
while("add to chart is not available") {
  driver.refresh(); //this would keep on refreshing unconditionally unless your item is found
  wait(2000); // would suggest adding some wait()
}
// once add to chart is available, it would come out of the loop
// execute further your 2nd and 3rd command

我们的想法是使用类似的代码:

// your first condition of opening a page of shoe
while("add to chart is not available") {
  driver.refresh(); //this would keep on refreshing unconditionally unless your item is found
  wait(2000); // would suggest adding some wait()
}
// once add to chart is available, it would come out of the loop
// execute further your 2nd and 3rd command

这是可能的。您可以通过使用
storeElementPresent
命令来检测页面元素是否已经存在来实现这一点。它返回布尔值(true/false),可在
gotoIf
命令的条件表达式中使用。见下面的例子


命令:
storeElementPresent

目标:

值:
shoes


命令:
gotoIf

目标:
${shoes}==false

值:
RefreshPage


命令:
label

目标:
RefreshPage

价值:


命令:
refreshAndWait

目标:

价值:


命令:
gotoIf

目标:
${shoes}==false


值:
刷新页面

这是可能的。您可以通过使用
storeElementPresent
命令来检测页面元素是否已经存在来实现这一点。它返回布尔值(true/false),可在
gotoIf
命令的条件表达式中使用。见下面的例子


命令:
storeElementPresent

目标:

值:
shoes


命令:
gotoIf

目标:
${shoes}==false

值:
RefreshPage


命令:
label

目标:
RefreshPage

价值:


命令:
refreshAndWait

目标:

价值:


命令:
gotoIf

目标:
${shoes}==false


值:
RefreshPage

对不起,我不知道应该把代码放在哪里。特别是:第一个命令打开鞋子的页面,其他两个命令的任务是添加到图表并进行签出。(非常简单)但是如果鞋子不可用,第二和第三个命令就不能正常工作。在这种情况下,我需要一次又一次地刷新页面,当产品可用时,其他两个命令必须工作并自动购买,谢谢advance@Edoardo:答案是这样修改的吗?打开时(;添加到图表不可用;)driver.refresh()等待2000单击css=div.opt-sel单击//div[@id='content']/div[3]/div[2]/div[2]/div[2]/div[2]/div/div/ul/li[6]/div/endWhile抱歉,我不知道应该将代码放在哪里。特别是:第一个命令打开鞋子的页面,其他两个命令的任务是添加到图表并进行签出。(非常简单)但是如果鞋子不可用,第二和第三个命令就不能正常工作。在这种情况下,我需要一次又一次地刷新页面,当产品可用时,其他两个命令必须工作并自动购买,谢谢advance@Edoardo:答案是这样修改的吗?打开时(;添加到图表不可用;)驱动程序。刷新()等待2000单击css=div.opt-sel单击//div[@id='content']]/div[3]/div[2]/div/div[2]/div[2]/div[2]/div[2]/div/ul/li[6]/div/endWhile当可以单击页面按钮时,我可以得到相同的结果?否。我提供的答案仅用于检测元素是否存在。检测按钮是否启用将是另一回事。当页面按钮可用时,我可以得到相同的结果?否。我提供的答案仅用于检测元素是否存在。检测按钮是否启用将是另一回事。