使用显式等待不会单击元素,但是将其悬停在我的元素上几秒钟

时间:2016-03-24 07:27:35

标签: selenium

public static WebDriverWait wait;

driver.findElement(By.linkText("Dashboard")).click();
wait.until(ExpectedConditions.elementToBeClickable(By.linkText("Radiology")))
.click();

放射学没有被点击但是徘徊了一段时间然后消失了

2 个答案:

答案 0 :(得分:0)

这是因为应用程序加载问题,弹出后需要花时间来对齐所有属性,此时click()mthd试图点击(没用)。

必须使用thread.sleep(),直到加载问题得到解决

答案 1 :(得分:0)

使用while循环检查所有属性更改以使其处于活动状态。以下代码并非针对任何语言,只是为了提供一个想法。

itr=0
while(whateverproerty="whatever" or itr < whatevertimeoutyouwant)
{
   Thread.Sleep(1)
   itr++ 
}

或者你可以做一个递归等待函数。

使用Thread.Sleep()不是最佳做法。