Webdriver利用浏览器的本机支持,使用id / xpath等将DOM元素映射到WebElement对象.
JavascriptExecutor.executeScript在当前选定的浏览器窗口的上下文中执行外部脚本. (类似于像油脂猴这样的增强浏览工具,如果你曾经使用过的话),
如果脚本返回任何DOM元素,则将其转换为WebElement对象.
也可以说,WebDriver在浏览器上模拟的点击类似于实际用户与使用javascript调用的点击相比.
实际上,使用WebDriver并非所有事件都可以通过所有Web浏览器完美自动化,实际上也可以使用同一Web浏览器的不同版本. (即不同版本的IE,FF等表现不同). WebDriver仍然是最好的工具.
在某个版本的IE上,我们发现一次(大约4年后),我们发现我们无法发送右键单击或者可能将鼠标悬停在生成的菜单链接上,因此我们使用js来模拟它,这与浏览器独立的方式非常相似.所以你现在可以得出结论执行外部JavaScript有什么用处.
参考: