我试图在包含两个“div”的“h3”中单击,因此我试图创建一个循环来遍历它们,但它只打开了第二个“div”。
当我发出一个停止它们之间的应用程序的警报时,它会打开两个“div”。它可以工作,但我想做到这一点而不必使用警报阻止应用程序,因为我在 Eclipse 的 Java 元素中将它与 Selenium 一起使用。
我尝试使用 .delay()
函数实现此功能,但没有成功。我把我使用的代码放在这里:
$("#proveDiv > div > h3").each(function(i, obj){
$(obj).delay(60000).fadeIn().click();
})
它只打开第二个“div”,但我想测试通过两个“div”,而不仅仅是其中一个。
我想知道是否有像 delay 或 sleep 这样的函数可以执行此任务但不会阻塞应用程序。
如有任何帮助,我们将不胜感激。 非常感谢!
编辑: 我也尝试过使用函数 setTimeout,但它也不起作用。如果我做错了什么,请告诉我。
$("#proveDiv > div > h3").each( function(i)
{
setTimeout(function()
{
$(this).click()} , 10000)
}
)
最佳答案
假设您正在通过 Selenium 执行此 Javascript 并想要测试它。 如何一一选择并单击它们
JavascriptExecutor driver = (JavascriptExecutor) webdriver;
driver.executeScript("$(`proveDiv > div > h3`).eq(0).click();");
TimeUnit.SECONDS.sleep(100); // or Thread.sleep(100);
driver.executeScript("$(`proveDiv > div > h3`).eq(1).click();");
关于javascript - 如何使用 Selenium 中的 JQuery 在 h3 中创建 .delay 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30251878/