什么意味着通过事件加载新页面或通过发送本机事件来完成?

时间:2012-07-13 13:19:46

标签: java selenium click

我阅读了有关界面WebElement的方法点击的信息,但是没有清楚地理解这样的语句是什么意思“如果click()导致通过事件加载新页面或者通过发送本机事件来完成”?

1 个答案:

答案 0 :(得分:1)

这是完整的javadoc:

  

单击此元素。如果这导致加载新页面,则此方法   将尝试阻止,直到页面加载。在这一点上,你   应放弃对此元素的所有引用以及任何进一步的引用   对此元素执行的操作将抛出一个   StaleElementReferenceException,除非你知道元素和   页面仍然存在。如果click()导致加载新页面   通过事件或通过发送本机事件完成,然后方法将    not 等待它被加载,调用者应该验证是否已加载新页面。

这意味着如果在浏览器中发出新请求,则click()是阻塞调用。并在页面加载时返回。

click()在执行一些加载新页面(或部分内容)(ajax)的javascript时不是阻塞调用。在这种情况下,您必须使用WebDriverWait并等待出现一些css-classes / ids / text。