0
A
答えて
1
この機能は、まだDotNetBrowser DOM APIには存在しません。しかし、Javascriptを使用してこのケースを回避することは可能です。
更新:この機能はDotNetBrowser 1.8.3で追加されました。 DOM APIを使用してobtain absolute or relative DOMElement positionにアクセスできるようになりました。
0
ウィンドウ、ビューポート、および要素の絶対座標を組み合わせることができます。あなたがここにScreen.PrimaryScreen.Bounds
財産
を使用することができ、画面の解像度を取得するに は、コードサンプルです:
public partial class Form1 : Form
{
BrowserView browserView;
public Form1()
{
InitializeComponent();
browserView = new WinFormsBrowserView();
browserView.Browser.FinishLoadingFrameEvent += Browser_FinishLoadingFrameEvent;
Controls.Add((Control)browserView);
browserView.Browser.LoadURL("google.com");
}
private void Browser_FinishLoadingFrameEvent(object sender, DotNetBrowser.Events.FinishLoadingEventArgs e)
{
if (e.IsMainFrame)
{
DOMDocument document = e.Browser.GetDocument();
DOMElement element = document.GetElementByName("btnK");
Rectangle rectangle = element.BoundingClientRect;
Rectangle resolution = Screen.PrimaryScreen.Bounds;
Debug.WriteLine("Screen resolution = " + resolution.Width +
'x' + resolution.Height);
Debug.WriteLine("Form X = " + Location.X);
Debug.WriteLine("Form Y = " + Location.Y);
Debug.WriteLine("browserView X = " + ((Control)browserView).Location.X);
Debug.WriteLine("browserView Y = " + ((Control)browserView).Location.Y);
Debug.WriteLine("X = " + rectangle.Location.X);
Debug.WriteLine("Y = " + rectangle.Location.Y);
int absoluteX = Location.X +
((Control)browserView).Location.X + rectangle.Location.X;
int absoluteY = Location.Y +
((Control)browserView).Location.Y + rectangle.Location.Y;
Debug.WriteLine("Absolute X = " + absoluteX);
Debug.WriteLine("Absolute Y = " + absoluteY);
}
}
}
+0
このソリューションはうまくいくようですが、毎回ではありません。 –
関連する問題
- 1. ターゲット要素に対するタッチイベントポイントのx座標を取得する方法は?
- 2. 要素の特定の座標をクリックする方法
- 3. イメージ要素の絶対位置を取得する方法は?
- 4. IE8で要素のスタイル座標を取得する方法
- 5. R:グリッドパッケージの絶対座標
- 6. 要素の座標の取得
- 7. 要素の座標の取得
- 8. 囲むSVGに相対的な要素の座標を取得
- 9. SVGKit - Illustrator SVGの絶対座標からの相対座標
- 10. キャンバス内のシェイプ/コントロールの絶対座標をバインドする方法
- 11. 座標に基づいて要素を取得する方法
- 12. 相対/絶対位置CSS(エリア要素の矩形座標を変換)
- 13. 絶対座標ビットマップandroid
- 14. mouseClickのx座標とy座標を取得する方法
- 15. BHOのWebページ要素の画面座標を取得する方法
- 16. WinRTのUIElementの絶対座標
- 17. gtk3の絶対座標ウィンドウの管理方法python
- 18. UIImageViewの座標の取得方法は?
- 19. ここから特定の場所のGPS座標を取得する方法
- 20. pdfファイルの特定の座標で色を取得する方法
- 21. タッチパッドの絶対的なタッチ座標
- 22. DynamicReportsでは、どのようにレポート要素の絶対座標を設定しますか
- 23. 特定の距離からx、y座標を取得する方法
- 24. CWDで特定のファイルタイプの絶対ファイルパスを取得する
- 25. イメージコントロールでビットマップイメージのx座標とy座標を取得する方法は?
- 26. androidのアドレス座標の取得方法
- 27. ボトムy座標の取得方法
- 28. 特定の座標でポイントを選択する方法は?
- 29. QGraphicsScene/Viewを特定の座標系に設定する方法
- 30. キーボードアクセサリビュー内の画面の座標を取得する方法は?
それは(ピクセルをincluingビューポートが、画面全体に相対または絶対相対を知るには十分ではありません解決)。 Internet Explorerでは、DOMにトランスフォーメーションサービスがあり、DotNetBrowserに相当するものがあります。 var rect = el2.getBoundingClientRect(); var displayServices = el.document as IDisplayServices; var point =新しいtagPOINT {x = rect.left、y = rect.top}; displayServices.TransformPoint(参照ポイント、_COORD_SYSTEM.COORD_SYSTEM_FRAME、 _COORD_SYSTEM.COORD_SYSTEM_GLOBAL、el); – Paulo