Watin:单击一个元素可以在调试模式下工作,但不是这样

时间:2009-11-19 07:54:43

标签: watin

我在下面的代码中基本上点击了一个表格的Click事件,

browser.Frame("f").Element("Table1").Click();

在调试模式下它可以正常工作(就像我放置一个断点并执行它)。但是,当我在流程中运行它时,它不起作用,我使用SimpleTimer等到Settings.WaitForCompleteTimeOut,但没有用。

任何帮助?

4 个答案:

答案 0 :(得分:1)

也许你有时间问题...

在点击之前尝试检查元素是否存在。

 browser.Frame("f").Element("Table1").Exists

然后执行您的操作......

答案 1 :(得分:1)

有同样的问题。通过关闭“IE增强安全配置”来修复。

How to turn off IE enhanced security configuration

答案 2 :(得分:0)

WatiN WaitForCompleteTimeOut方法要么等到某个谓词已经完成,要么输入时间已经用完。如果您在继续使用Thread.sleep(int time)之前尝试等待一段时间,那将是一个更好的解决方案。虽然你当然可以设置一个永远不会满足的Settings.WaitForCompleteTimeOut方法的谓词,所以总是会达到超时。

如果您要等到操作完成,您应该忘记Settings.WaitForCompleteTimeOut方法。它在每个WatiN命令之后运行,因此您不必执行。

答案 3 :(得分:0)

Actions actions = new Actions(driver);
actions.moveToElement(webElement);
actions.click();
actions.sendKeys(Keys.RETURN));
actions.build().perform();