pcpao.org/general.php?strap=152814186280001650
在尝试从该站点获取完整的HTML时,.GetSourceAsync和.ViewSource都只显示'frameset'HTML.使用ShowDevTools选项,完整的HTML数据包含在元素集合和Chrome-devtools的Sources中.
我在网页加载后运行这个,但它应该都在那里,因为它在开发工具中?
从导航网站获取完整的HTML,我缺少什么.我怀疑这与帧有关,但经过一个小时的谷歌搜索和阅读旧消息,我看到这只是切向提到.
的WinForms
package id="cef.redist.x64" version="3.2526.1362" targetFramework="net46"
package id="cef.redist.x86" version="3.2526.1362" targetFramework="net46"
package id="CefSharp.Common" version="47.0.3" targetFramework="net46"
package id="CefSharp.WinForms" version="47.0.3" targetFramework="net46"
Run Code Online (Sandbox Code Playgroud) 我在 WinForm 项目中使用 CefSharp v55.0。页面加载后,我想从中获取 HTML 代码。为此,我正在使用它:
private void WebBrowserFrameLoadEnded(object sender, FrameLoadEndEventArgs e)
{
if (e.Frame.IsMain)
{
test.ViewSource();
test.GetSourceAsync().ContinueWith(code =>
{
var html = code.Result;
});
}
}
Run Code Online (Sandbox Code Playgroud)
对于交叉检查,我还调用了 test.ViewSource() 方法,以查看 GetSourceAsync 方法是否正在获取整个代码。
不幸的是,代码是不同的。ViewSource 正在获取整个代码,但 GetSourceAsync 没有通过页面中生成的 javascript 获取代码。
请指导我获取页面源代码的方法,例如ViewSource,或者告诉我如何捕获此ViewSource方法的临时文件。
干杯。
Visual Studio 2017、Windows 10、.NET Framework 4.8、CefSharp WinForms 83.4.20、平台目标 x64
创建了新的非常简单的 CefSharp Windows 窗体应用程序。我无法获取网页的 html 源代码。我想我已经查看了 StackOverflow 上的每个 CefSharp 和异步同步问题 - 尝试了很多解决方案 - 我的头已经变得糊涂了。这是我看到的第一个问题 - 我也有同样的问题。
'浏览器.ViewSource();' 确实会弹出一个记事本,其中包含网页的源代码。但是当我尝试使用源代码获取字符串时 - 任务似乎永远不会运行。运行以获取网页源的任务显示 ---> Status = WaitingForActivation ---> 并且永远不会返回源。
我尝试过异步到同步的转换 - 可能有十种不同的方式。没有工作。一个 StackOverflow 解决方案建议使用 Application.DoEvents() - 所以我什至尝试过。
希望有人有一些想法。这个浏览器似乎有很大的潜力 - 但我需要获取网页源 html。
using System;
using System.Threading.Tasks;
using System.Windows.Forms;
using CefSharp;
using CefSharp.WinForms;
using System.Diagnostics;
namespace Test1
{
public partial class Form1 : Form
{
public ChromiumWebBrowser browser;
public Form1() …Run Code Online (Sandbox Code Playgroud)