WebBrowser
をWebKit.NET
に置き換え、WebBrowser
で使用していた機能の1つを、ラッパー私はWebKit
の周りに書いていますが、JavaScript要素とC#コードの間でDOM要素を渡すことができます。 WebBrowser
でC#とJavaScriptの間の要素を渡す
あなただけInvokeScript
を呼び出し、パラメータとしてHtmlElement
のDomElement
プロパティを渡すと、JavaScript関数は、要素になるだろうと思います。同様に、JavaScriptからC#に要素を渡すことができ、C#コードはDomElement
オブジェクトを取得します。
WebKit
私が知る限り、これはできません。 InvokeStriptMethod
メソッドは壊れていますが、StringByEvaluatingJavaScriptFromString
はありません。スクリプトを現在のドキュメントに挿入し、後で呼び出すことができます。
これらのドキュメントは自分の作成したドキュメントではないため、IDをすべての要素に割り当てるなどの作業はできません。これはWebスクレーパーであり、できるだけ文書の要素をぶつけないようにする必要があります。
一時的なIDを要素に割り当て、古いIDをバックアップしておくと、JavaScriptまたはC#のいずれかからGetElementById
呼び出しを実行して元の要素のIDを再割り当てできます。問題はWebKitのGetAttribute('id')
がIDがundefined
のときは空の文字列を返すため、C#コードでIDが空文字列かundefined
かどうかを知る方法がなく、現在のWebページのスクリプトが依存する可能性があるということです何らかの理由でIDがundefined
であるため、IDを空の文字列に設定するとjavascriptが台無しになる可能性があります。
誰かが良いアイデアを持っているのですか、他の方法がありますか?WebKit
私が使用できる方法はありますか?
質問は、コード例を追加、あまりにも曖昧です。 –