使用Selenium读取Internet Explorer控制台输出

时间:2017-05-01 21:27:31

标签: python selenium internet-explorer logging

我正在使用Selenium在Internet Explorer 11中测试自动化,我正在寻找任何控制台输出以查找错误。但是,我提出的任何研究都会导致2年前的回复,称IE驱动程序不支持读取任何类型的日志(see here)。这个问题有没有更新?如果没有,是否有任何解决方法来使用Selenium在IE中读取JS错误?

1 个答案:

答案 0 :(得分:0)

不,IE驱动程序中未实现的日志API没有变化。其中一个原因是W3C WebDriver Specification的到来,它没有定义任何记录终点。此外,即使驱动程序要实现日志记录API,在IE中获取控制台日志仍然是不可能的,因为Internet Explorer不提供对其调试工具的任何编程访问。

在IE中捕获JavaScript错误的一种方法是设置window.onerror并读取那里发生的任何错误。当然,这不会检索onLoad期间或错误处理程序附加到onError事件之前发生的任何JavaScript错误。为了实现这一点,我所看到的另一种方法是使用代理在事件处理程序脚本到达浏览器之前将其注入页面。 This blog post显示了如何执行此操作的示例。即使该示例是用C#编写的,也可以在任何其他语言绑定中应用相同的技术。