webelement的click方法如何在内部工作?

时间:2018-06-14 18:49:31

标签: java selenium-webdriver webdriver selenium-firefoxdriver

我是selenium的新手所以我正在浏览 selenium文档,并且在文档下面是click()方法的说明:

点击()

单击此元素。如果这会导致加载新页面,则应丢弃对此元素的所有引用,并且对此元素执行的任何进一步操作都将抛出StaleElementReferenceException。请注意,如果通过发送本机事件(这是大多数浏览器/平台上的默认设置)完成click(),则该方法将等待下一页加载,并且调用者应验证自己。

任何人都可以帮助我理解上述解释的确切含义吗? 如果提供一个支持性的例子,这将是一个很大的帮助。

由于

1 个答案:

答案 0 :(得分:0)

例如,当您具有要单击的按钮时,您想调用selenium提供的.click()方法。现在,对于“如果这导致加载新页面,您应该丢弃对该元素的所有引用,并且对该元素执行的任何进一步操作都会引发StaleElementReferenceException”这一部分,这是告诉您,如果单击此特定按钮会导致例如一个弹出窗口出现,然后selenium不会自动切换到该弹出窗口,您必须将其包含在代码中。如果您不这样做,并尝试单击弹出窗口中的元素,则将获得Exception。此外,最后一部分指出,当您最初单击按钮时,硒不会显式等待弹出窗口的加载。您必须告诉selenium等待该弹出窗口,以防您要对其执行某些操作,例如验证标签或获取数据等。 希望这有助于澄清一些事情。 祝好运。硒很有趣