gpt4 book ai didi

javascript - VBA 上的 Jquery 事件

转载 作者:可可西里 更新时间:2023-11-01 14:59:42 27 4
gpt4 key购买 nike

我一直在尝试使用 VBA 自动执行我在网站上执行的流程,但我对 JavaScript 的了解有限。我已经问过这方面的问题,但还没有找到解决方案。

我需要做的是回答一系列像这样工作的是/否问题,例如该问题还有两个相关的子问题。如果您在第一个中选择"is",则会出现第二个,依此类推。问题是我无法让 VBA 触发网站上的所有事件,这意味着我可以对第二个问题回答"is"(当我开始工作时,第一个问题总是已经手动回答)现在它不会显示第三个也是最后一个问题。

First two questions Three questions

我查看了 JS 代码,随着我深入研究它,我不断发现一些东西。到目前为止,我从浏览器上的调试中了解到,文档上有一个“鼠标按下”事件,该事件由显示选项 Y/N 的第二个答案元素名称触发,然后另一个事件“更改”来自 div 元素,该元素将第二个问题段落。

鼠标按下事件 'mousedown' event

更改事件 'change' event 右侧面板是参数的属性

关于 VBA 和尝试触发事件我现在已经尝试了很多东西..

.fireEvent “onchange”或“onclick”不起作用.iedoc.parentWindow.execScript 和函数 eventHandle() 给出错误。

这是JS中的函数

elemData.handle = eventHandle = function() {
// Handle the second event of a trigger and when
// an event is called after a page has unloaded
return typeof jQuery !== "undefined" && !jQuery.event.triggered ?
jQuery.event.handle.apply( eventHandle.elem, arguments ) :
undefined;
};

这不会出错,但也不会发生任何事情:

Dim event_onChange As Object
Set event_onChange = ieDoc.createEvent("HTMLEvents")

While ieApp.Busy Or ieApp.readyState <> 4: DoEvents: Wend
ieDoc.querySelector("select[name='meetingQuestionAnswer(221010)']").Focus
event_onChange.initEvent "mousedown", True, False
ieDoc.querySelector("select[name='meetingQuestionAnswer(221010)']").dispatchEvent event_onChange


event_onChange.initEvent "change", True, False
ieDoc.querySelector("select.auto-save[name='meetingQuestionAnswer(221010)']").dispatchEvent event_onChange
ieDoc.querySelector("select.auto-save[name='meetingQuestionAnswer(221010)']").Value = "Yes"

应该从目标元素或 currentTarget 元素调度事件?或者我如何触发事件以显示 Y/N 选项框并加载其他问题?

最佳答案

在 VBA 上进行了大量搜索和尝试之后,我得出的结论是不可能做我想做的事情(如果它非常复杂且不方便)所以我决定转向 Python 中的 Selenium 和不到十行代码就解决了。

关于javascript - VBA 上的 Jquery 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54167896/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com