Abh*_*war 1 java selenium selenium-webdriver
我已经编写了一个 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();
Run Code Online (Sandbox Code Playgroud)
我的代码工作正常,但当鼠标移动到按钮时它不会停止 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();
Run Code Online (Sandbox Code Playgroud)
imlicitlyWait()
不会暂停您的代码。如果 aWebElement
没有立即找到,这是一种让 Selenium 总是等待几秒钟的方法。
请注意,pause()
已弃用。手动暂停代码是不好的做法。您应该质疑自己为什么认为有必要暂停您的代码。如果你想模拟一个等待 10 秒的人,那完全没问题,如果你想要一些其他元素或 javascript 完成加载,那么你应该考虑使用不同的方法。
编辑:并且您的代码不会中途暂停(即使您会使用Thread.sleep()
),因为在Action.perform()
执行整个序列时,您首先构建 Actions 对象,然后在执行时执行整个操作序列。
归档时间: |
|
查看次数: |
4540 次 |
最近记录: |