PyQT miss JS事件

2024-07-04 13:10:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我们正在用大量的JS代码测试一个相当复杂的接口。我们使用PyQT(及其webkit)。我们模拟如下点击事件:

evaluateJavaScript("var evObj = document.createEvent('MouseEvents');  vObj.initEvent('click', true, true); this.dispatchEvent(evObj);")

我们在表格上填上:

evaluateJavaScript('this.value = "%s"' % value)

有时(不幸的是,经常)这两个技巧都失败了,有时一个,有时另一个。我们无法真正理解其中的原因,这似乎是混乱和随机的。看起来这些事件有时无法执行。但以下事件可能会执行良好。所以PyQT似乎只是“丢弃”了一些事件,错过了它们。真烦人,我们根本无法进行测试。有人知道原因吗?或者至少,如何执行事件并确保它确实已被执行?设置value attr没什么大不了的,我们可以简单地检查它是否有值,但是如何跟踪“click”是否成功?你知道吗

另外,我们不使用PhantomJS,也不会使用它,因为它缺乏Flash支持,重新编写测试会花费太多时间。你知道吗

谢谢你们!你知道吗


Tags: 代码truevaluevarjs事件原因this

热门问题