【发布时间】:2020-05-29 10:43:47
【问题描述】:
大家好???并且已经提前感谢了!
我需要通过悬停以某种方式只获取加载的网站源代码的一部分(图片点2)(如果不可能,我也会很高兴点击鼠标) em> 在元素 (图片点 1) 上。 我知道这听起来可能很奇怪,因为 DevTool 只需单击一下 (图片点 3) 就已经非常棒了。 但如果可能的话,我只想读出内部和外部 HTML (我现在需要的任何一个)是活动/选择的部分。
我达到的是:
int counter = 0;
private async void timer1_Tick(object sender, EventArgs e)
{
string returnValue = "";
string script = "(function() { return document.activeElement.outerHTML; })();";
var task = browser.GetMainFrame().EvaluateScriptAsync(script);
await task.ContinueWith(t =>
{
if (!t.IsFaulted)
{
var response = t.Result;
if (response.Success && response.Result != null)
{
returnValue = response.Result.ToString();
}
}
});
if (returnValue != "")
{
richTextBox1.Invoke(new Action(() => richTextBox1.Text = returnValue));
}
else // Just to check if there still happens something:
{
counter += 1;
richTextBox1.Invoke(new Action(() => richTextBox1.Text = counter.ToString() ));
}
}
使用此代码问题似乎解决了????。但我想知道是否有没有计时器的“更好”方法。
【问题讨论】:
-
你能发布一些你尝试过的代码吗?
-
当然 :) @Dani
-
请参阅github.com/cefsharp/CefSharp/wiki/…,您可能会订阅您感兴趣的元素类型的鼠标悬停和鼠标移出事件。
-
你用的是什么版本?
-
问题github.com/cefsharp/CefSharp/issues/3021有望在版本81中得到解决。要解决版本79中的问题,请直接在框架github.com/cefsharp/CefSharp/issues/3021#issuecomment-580039079上执行JavaScript
标签: javascript c# winforms cefsharp