0

こんにちは、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");
        }
    }

このオブジェクトを見つけたのはわかっています。属性を取得したときは問題ありませんでしたが、クリックしても機能しません。

このオブジェクトのメソッドを示しますが、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 でこれを見つけました: Trigger a button click from a non-button element しかし、アプリでは使用できません。

4

1 に答える 1

0

Web ページに付随する Javascript のどこかに、その<a>要素のクリック イベントにバインドされた関数があります。それを見つけて、直接呼び出します。問題の関数がselfオブジェクトを参照している場合は、関数への参照を取得しcall、アンカー要素を最初のパラメーターとして渡してメソッドを呼び出す必要があります。

別の方法 - あなたがやろうとしていること - はおそらくもっと複雑です。アンカー要素には実際にはclicked()機能がありません。代わりに、手動でイベントを作成する必要があります。

于 2013-04-05T17:47:15.003 に答える