Selenium - 为什么不能在safari中运行thread.sleep?

问题描述:

在FireFox中,我能够使用Thread.sleep(xx)减慢硒的使用速度,但我无法在Safari中减慢速度。请不要推荐我等到找到元素。Selenium - 为什么不能在safari中运行thread.sleep?

这里是谁面临着同样的问题用户:http://hintsforums.macworld.com/archive/index.php/t-51526.html

它真的不看任何有用的东西。

还有其他一些基本的东西,如name_of_input_box.clear()不在safari上工作。他们为什么这么做?

像下面连基本的代码被打破(在Safari中,没有火狐):

log("Searching for input box"); 
WebElement emailInput = (new WebDriverWait(driver, 10)) 
     .until(ExpectedConditions.presenceOfElementLocated(By 
       .name("email"))); 
log("Clearing email input box"); 

emailInput.clear(); 
log("Sending keys " + email + " to the input box"); 
emailInput.sendKeys(email); 

在我的代码是打破了一点:

emailInput.clear(); 

这里是一个警告messgae如果我把尝试围绕它的捕捉循环

元素当前不可互动并且可能不会被操纵

以下是我的日志:

Searching for Input box 
Clearing email input box 
+1

为什么你不想用“等到元素被找到?”很可能,Thread.Sleep不会像你已经指出的那样工作,所以你必须开放其他解决方案,对吧?或者你只是想知道为什么它不起作用? – 2014-10-17 16:50:45

+0

我有兴趣知道为什么它现在不工作:)。我必须明显改变我的方式,因为我之前没有考虑过,但我很好奇为什么。它的有趣它只是忽略它而不是结束程序。 – Indigo 2014-10-17 16:54:19

+1

我不确定我们是否在这里解释*为什么*,除非它导致解决方案。向我们展示导致问题的代码。另请参见http://*.com/help/on-topic,其中说:*寻求调试帮助的问题(“为什么不是这个代码工作?”)必须包含所需的行为,特定的问题或错误,以及最短的在问题本身中重现它所需的代码。没有明确问题陈述的问题对其他读者无益。参见:如何创建一个最小的,完整的,并且可验证的示例](http://*.com/help/mcve)* – 2014-10-17 16:55:11

尝试在清除它之前单击该元素。