Hier ist Eugene. Ich arbeite mit dem Team, das DotNetBrowser erstellt hat.
Um die Mausklickposition zu erhalten, können Sie das Ereignis MouseDown
verwenden. Ich habe die Beispiele unten zur Verfügung gestellt.
Windows Forms:
public partial class MainForm : Form
{
private WinFormsBrowserView browserView;
public MainForm()
{
InitializeComponent();
browserView = new WinFormsBrowserView() {Dock = DockStyle.Fill};
browserView.MouseDown += BrowserView_MouseDown;
this.Controls.Add(browserView);
}
private void BrowserView_MouseDown(object sender, MouseEventArgs e)
{
int clickX = e.X;
int clickY = e.Y;
}
}
WPF:
public partial class MainWindow : Window
{
private WPFBrowserView browserView;
public MainWindow()
{
InitializeComponent();
browserView = new WPFBrowserView();
browserView.MouseDown += BrowserView_MouseDown;
this.MainGrid.Children.Add(browserView);
}
private void BrowserView_MouseDown(object sender, MouseButtonEventArgs e)
{
Point clickPoint = e.GetPosition(browserView);
double clickX = clickPoint.X;
double clickY = clickPoint.Y;
}
}
Danach können Sie den Knoten für den erhaltenen Standort erhalten können die Browser.NodeAtPoint
Methode:
DOMNodeAtPoint nodeAtPoint = browserView.Browser.NodeAtPoint((int)clickX, (int)clickY);
Hallo, danke, es funktioniert. Ich versuche mit der Maus über den Bildschirm zu fahren und kann auf ein beliebiges Teil klicken und eine Rundungsbox auf dem angeklickten Element anzeigen und ich frage mich, ob es möglich ist, dass, falls ich auf einen Link wie eine Schaltfläche oder ein Tag klicke Aktion. –
Wenn ich einen NodeAtPoint bekomme, wie kann ich dann Attribute setzen/bekommen? Ich finde nicht, wie ein DOMNodeAtPoint-Objekt an DOMElement übergeben wird, um über Attribute zu iterieren. –