触发非按钮元素的点击

本文关键字:元素 按钮 | 更新日期: 2023-09-27 18:07:31

我用WPF/c#编程,使用awesomium WebControl

我想点击这个:

<li class="playlist-item-favorite" data-title="Ulubione" data-is-private="False">
      <a href="javascript: void(0);">
        <span class="playlist-title">
          Ulubione
          <span class="playlist-video-count-container">
            (<span class="playlist-video-count">1</span>)
          </span>
        </span>
        <span class="playlist-public-private">
Publiczny
        </span>
      </a>
    </li>

我的代码c#:

 dynamic lists = (JSObject)Browser.ExecuteJavascriptWithResult("document.getElementsByClassName('playlist-item-favorite')");
            if (lists == null)
                return;
        length = lists.length;
        if (length == 0)
            return;
        using (lists)
        {
            using (JSObject obiekt = lists.Invoke("item", 0))
                obiekt.InvokeAsync("click");
        }
    }

我知道我已经找到了这个对象,当我得到属性它是好的,但点击不工作。

I显示了这个对象的方法,没有像click或onclick这样的方法。方法:

insertAdjacentHTML
insertAdjacentText
insertAdjacentElement
getAttribute
setAttribute
removeAttribute
getAttributeNode
getElementsByTagName
getAttributeNS
setAttributeNS
removeAttributeNS
getElementsByTagNameNS
getAttributeNodeNS
hasAttribute
hasAttributeNS
focus
blur
scrollIntoView
scrollIntoViewIfNeeded
scrollByLines
scrollByPages
getElementsByClassName
querySelector
querySelectorAll
webkitMatchesSelector
getClientRects
getBoundingClientRect
setAttributeNode
removeAttributeNode
setAttributeNodeNS
webkitRequestFullScreen
insertBefore
replaceChild
removeChild
appendChild
hasChildNodes
cloneNode
normalize
isSupported
hasAttributes
lookupPrefix
isDefaultNamespace
lookupNamespaceURI
addEventListener
removeEventListener
isSameNode
isEqualNode
compareDocumentPosition
contains
dispatchEvent

你能帮我吗?

@Edit我发现这个javascript:从非按钮元素触发按钮单击但是我不能在我的应用程序中使用它。

触发非按钮元素的点击

在网页附带的Javascript中,将有一个函数绑定到<a>元素的click事件-找到它是什么,然后直接调用它。如果所讨论的函数引用了self对象,则需要获取对该函数的引用并在其上调用call方法,将锚元素作为第一个参数传递。

另一种选择——你正在尝试做的事情——可能更复杂。锚元素实际上没有clicked()函数,相反,您需要手动创建一个事件。