0
private Point GetElementPosition(IHTMLElement current_element)
    {
        int x_add = current_element.offsetWidth;
        int y_add = current_element.offsetHeight;
        int x = current_element.offsetLeft;
        int y = current_element.offsetTop;
        while ((current_element = current_element.parentElement) !=null)
        {
            x+=current_element.offsetLeft;
            y+= current_element.offsetTop;
        }

        y-=(webBrowser.Location.Y);

        return new Point(x+(x_add/2),y-(y_add/2));
    }

このメソッドは、Webブラウザコントロールの場所を考慮して、画面上のIHTMLElementの絶対位置を計算することになっています。次に、要素の中点に対応するPoint変数を返します。どうしたの?約50〜60ピクセル低いターゲットになっているようです。編集:私も同じことを試しましたが、IHTMLElementの代わりにHtmlElementを使用しました。何も違いはありませんでした。SetCursorPos関数を使用して、計算結果にマウスカーソルを送信しましたが、常に目的の場所よりも低くなっています。私は何を考慮していませんか?

4

0 に答える 0