使用IJavaScriptExecutor时如何挂钩自定义JavaScript触发器 - javascript

我们在Web应用程序中定义了此事件,该事件创建了一个名为timelineEventClicked的自定义触发器

canvas.addEventListener('click', function (evt) {
                    evt.stopImmediatePropagation();
                    var mousePos = getMousePos(canvas, evt);

                        ...//some manipulation here

                        $.event.trigger({
                            type: "timelineEventClicked",
                            sender: _timelineObject,
                            events: settings.events,
                            eventData: eventData
                        });
                    });

我想挂钩到此事件timelineEventClicked并通过注入使用硒或量角器来获取eventData

IJavaScriptExecutor executor = (IJavaScriptExecutor)driver;
 executor.ExecuteScript(@"(function() {                       
                    document.addEventListener('timelineEventClicked', function(e) {
                        //Not sure what to do here to get back evendata
                })();"
                );

问题在于它似乎无法识别事件timelineEventClicked,并且不确定原因。

javascript参考方案

要检索事件,请使用侦听器将其存储在全局范围内。
然后单击画布以触发事件并返回变量:

IJavaScriptExecutor executor = (IJavaScriptExecutor)driver;

// install the listener
executor.ExecuteScript(
  "$(document).on('timelineEventClicked', function(e){ window._evt=e; });");

// trigger the event
driver.FindElement(...).Click();

// return the event
var data = executor.ExecuteScript(@"return window._evt;");

Selenium:如何使RemoteDriver始终附加到当前的浏览器选项卡? - javascript

我正在开发一个Windows应用程序,该应用程序可以通过语音命令操纵浏览器。我想适当地处理用户添加一些标签并根据需要更改所选标签的情况。事实证明,RemoteDriver仅与一个选项卡一起使用,并且可以通过提供选项卡手柄将焦点切换到另一个选项卡。但是我不知道如何获取选定的选项卡句柄并始终检查选定的选项卡是否已更改,或者是否存在始终与选定的选项卡一起使用的方法…

Mongo汇总 - javascript

我的收藏中有以下文件{ "_id": ObjectId("54490b8104f7142f22ecc97f"), "title": "Sample1", "slug": "samplenews", "cat": …

如何从客户端将数据插入数据库? - javascript

我是Web开发的初学者,可以访问cpanel上托管的网站,并且需要对其进行一些更改。这个网站的后端是由蛋糕PHP制作的,我想使用ajax从客户端将一些数据插入其数据库。问题是我不知道如何获取负责插入数据库的PHP文件的URL。参见下面的代码:var xhttp = newXMLHttpRequest(); xhttp.onreadystatechange= …

编码JSON数据以保留json格式 - javascript

由于JSON值是动态生成的,并且其中的值是基于用户输入的,因此,如果用户在字符串中输入了不可接受的字符(如"),则会使json无效。就像是:{ "tag" : "demo", "value": "user " input" } 有没有一种方法可以编码或转义JS…

执行onclick时获得意外令牌 - javascript

我正在使用onclick事件从PHP调用JS函数。这是我的代码:我在一个函数中,因此我需要通过PHP来完成它,因为然后我会返回:$html = '<input type="checkbox" checked value="1" id="setGetSku" name="se…