Selenium:页面可用时如何自动刷新
我创建了一个selenium的小测试,以便在发布鞋子的那一刻在不同的网站上购买一双鞋子,我希望我的测试能够在页面上反复刷新,直到鞋子可用为止,这样我就不应该一直在pc上启动所有测试。这是可能的吗 提前谢谢 这是我的代码:Selenium:页面可用时如何自动刷新,selenium,selenium-ide,Selenium,Selenium Ide,我创建了一个selenium的小测试,以便在发布鞋子的那一刻在不同的网站上购买一双鞋子,我希望我的测试能够在页面上反复刷新,直到鞋子可用为止,这样我就不应该一直在pc上启动所有测试。这是可能的吗 提前谢谢 这是我的代码: <tr> <td>open</td> <td> LINK SHOE</td> <td></td> </tr> <tr> <td>click</td>
<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当可以单击页面按钮时,我可以得到相同的结果?否。我提供的答案仅用于检测元素是否存在。检测按钮是否启用将是另一回事。当页面按钮可用时,我可以得到相同的结果?否。我提供的答案仅用于检测元素是否存在。检测按钮是否启用将是另一回事。