我阅读了有关界面WebElement的方法点击的信息,但是没有清楚地理解这样的语句是什么意思“如果click()导致通过事件加载新页面或者通过发送本机事件来完成”?
答案 0 :(得分:1)
这是完整的javadoc:
单击此元素。如果这导致加载新页面,则此方法 将尝试阻止,直到页面加载。在这一点上,你 应放弃对此元素的所有引用以及任何进一步的引用 对此元素执行的操作将抛出一个 StaleElementReferenceException,除非你知道元素和 页面仍然存在。如果click()导致加载新页面 通过事件或通过发送本机事件完成,然后方法将 not 等待它被加载,调用者应该验证是否已加载新页面。
这意味着如果在浏览器中发出新请求,则click()是阻塞调用。并在页面加载时返回。
click()在执行一些加载新页面(或部分内容)(ajax)的javascript时不是阻塞调用。在这种情况下,您必须使用WebDriverWait并等待出现一些css-classes / ids / text。