gpt4 book ai didi

java - 在 Selenium 中等待几秒钟?

转载 作者:行者123 更新时间:2023-11-29 06:33:17 25 4
gpt4 key购买 nike

我已经编写了一个 selenium 代码来选择浏览器上的一个按钮并单击它,但我希望 selenium 在移动到该元素时等待几秒钟。我该怎么做?以下是我尝试过的代码,但它对我不起作用。

我的代码:

    Actions actionobj = new Actions(fd1);       
actionobj.moveToElement(heatmap);
actionobj.perform();
fd1.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
Actions action2 = new Actions(fd1);
action2.click(heatmap);
action2.perform();

我的代码工作正常,但是当鼠标移到按钮上时它不会停止 10 秒。我也试过 Thread.sleep() 但也没有用。

最佳答案

Java Selenium API 似乎有一个方法 pause(long) .

根据文档,它需要一个 long 来表示暂停的毫秒数。

   Actions actionobj = new Actions(fd1);        
actionobj.moveToElement(heatmap);
actionobj.pause(10000); //wait 10 seconds
actionobj.click(heatmap);
actionobj.perform();

imlicitlyWait() 不会暂停您的代码。如果没有立即找到 WebElement,这是一种让 Selenium 始终等待几秒钟的方法。

请注意,pause() 已弃用。手动暂停代码是不好的做法。您应该问问自己为什么认为有必要暂停您的代码。如果你想模拟一个等待 10 秒的人,那完全没问题,如果你想要一些其他元素或 javascript 完成加载,那么你应该考虑使用不同的方法。

编辑:并且您的代码不会中途暂停(即使您使用 Thread.sleep()),因为在 Action.perform() 上,整个序列都进行了out,因为您首先构建 Actions 对象,然后在执行时,执行放在一起的整个操作序列。

关于java - 在 Selenium 中等待几秒钟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27120530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com