我可以假设使用Selenium2 WebDriver executeScript方法,我的脚本将在window.onload之后吗?
e.g。加载所有DOM元素/图像后?
答案 0 :(得分:1)
是的,您可以假设,因为它将在浏览器中加载整个页面后执行
答案 1 :(得分:1)
不一定。如果您在executeScript()
通话后使用get()
方法,则答案为“可能”。 WebDriver试图阻止对get()
的调用,但可能会有一些JavaScript代码在onload触发后仍会运行(考虑onload事件处理程序中的代码使用setTimeout()延迟执行的情况),这意味着DOM可能仍然被操纵。如果您在单击导致导航的链接后使用executeScript()
,则执行将等到页面完全加载的可能性更小,因为点击是异步的,并且无法保证WebDriver能够等待页面加载。