标签: cefsharp

强制 CEFSharp 下载而不显示对话框

我有一个带有 CEFSharp 的 WPF 应用程序,它是一个 Web 浏览器,当我单击下载链接时,它会显示一个对话框并询问我要将文件保存在哪里?
如何强制 Web 浏览器下载任何文件而不显示对话框?我想创建一些像谷歌浏览器这样的东西。因此,当您单击下载链接时,它会将文件下载到默认路径(通常位于“文档/下载”中)

现在我如何在我的应用程序中实现这一点?
如果我需要更改 CEFSharp 源代码,请告诉更多详细信息,因为我找到了一些解决方案,但没有完整的示例,只有部分代码!谢谢。

c# wpf cefsharp

4
推荐指数
1
解决办法
1万
查看次数

需要 cefsharp 代理身份验证

我正在尝试在 cefsharp 上使用具有 Auth 的代理,我尝试了此代码,它在没有 Auth 的情况下与代理一起使用,我应该如何设置 Auth 。

Cef.UIThreadTaskFactory.StartNew(delegate
                    {
                        string ip = "IP";
                        string port = "PORT";
                        var rc = chrome.GetBrowser().GetHost().RequestContext;
                        var dict = new Dictionary<string, object>();
                        dict.Add("mode", "fixed_servers");
                        dict.Add("server", "" + ip + ":" + port + "");
                        string error;
                        bool success = rc.SetPreference("proxy", dict, out error);
                    });
Run Code Online (Sandbox Code Playgroud)

我找到了这个链接,但我不明白该怎么做

https://bitbucket.org/chromiumembedded/cef/wiki/GeneralUsage.md#markdown-header-proxy-resolution 请写一些代码,我是初学者。

c# proxy chromium-embedded cefsharp

4
推荐指数
1
解决办法
7639
查看次数

将“about:blank”传递给 ChromiumWebBrowser 的构造函数时未创建 V8Context

重现这一点的步骤非常简单。只需使用 nuget 下载最新版本的 CefSharp.WinForms (57.0.0),然后将一个按钮和此代码添加到表单中:

public partial class Form1 : Form
{
    ChromiumWebBrowser WebBrowser;

    public Form1()
    {
        InitializeComponent();
        WebBrowser = new ChromiumWebBrowser("about:blank");
        panel1.Controls.Add(WebBrowser);
        WebBrowser.Dock = DockStyle.Fill;
    }

    private void testButton_Click(object sender, EventArgs e)
    {
        MessageBox.Show(WebBrowser.CanExecuteJavascriptInMainFrame.ToString());
    }
}
Run Code Online (Sandbox Code Playgroud)

然后运行应用程序,等待几秒钟以确保“about:blank”已加载,然后按testButton。消息框将显示False。事实上,如果我尝试使用,EvaluateScriptAsync我会得到一个异常,告诉我尚未创建上下文。

解决此问题的一种方法是调用ShowDevTools,这似乎以某种方式强制创建上下文。另一种解决方案是导航到非本地页面,例如 Google。在这种情况下,即使我回到“about:blank”,我也能运行脚本。我尝试使用注册的自定义方案CefSettings.RegisterScheme,但导航到我的自定义页面仍然没有创建上下文(我尝试将“about:blank”传递给构造函数,然后导航到我的自定义方案,反之亦然,但没有任何效果) .

那么,是否可以让 CefSharp 创建上下文而不必导航到非本地页面或显示 DevTools?

c# chromium-embedded cefsharp

4
推荐指数
1
解决办法
2389
查看次数

CefSharp 浏览器视频无法播放

我正在使用 CefSharp Winforms x86 构建。我想从这个链接播放视频:

http://developers.canal-plus.com/rx-player/
Run Code Online (Sandbox Code Playgroud)

在谷歌浏览器中它可以工作,但我的 CefSharp WinForm 浏览器无法播放其中任何一个。我检查了javascript是否已启用。我错过了什么吗?此页面不需要任何 Flash 播放器。它是 HTML5 播放器。

c# cefsharp

4
推荐指数
1
解决办法
9494
查看次数

如何使用 CEFSharp 访问元素?

我第一次使用 CEFSharp C#,我很难弄清楚如何让浏览器做除了 browser.Load(""); 之外的任何事情。我已经在许多网站上搜索了几个小时,但似乎没有人有答案或有这个问题。我试图访问网站元素,就好像它们是 c# 表单控件一样......简而言之。我不应该问广泛的问题......我该怎么做browser.Click("/*elementName*/")?另外,有没有办法做类似的事情browser.TextBox1.Text = "blah";

@吉姆W

我的代码到目前为止:更新 6/6/2018 4:29 pm

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using CefSharp;
using CefSharp.WinForms;

namespace WebAppWorkAround
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            InitializeChromium();
        }
        List<string> classList = new List<string>();
        public ChromiumWebBrowser chromeBrowser;

        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {

        }

        private void Form1_Load(object sender, EventArgs e)
        {

        } …
Run Code Online (Sandbox Code Playgroud)

c# chromium-embedded cefsharp

4
推荐指数
1
解决办法
1万
查看次数

使用 CefSharp 构建 x64 项目

我尝试编译我的应用程序,它具有 CefSharp 作为依赖项。面向 x86 时一切正常,但对于 x64,我收到以下错误:

System.BadImageFormatException: 'Could not load file or assembly 'CefSharp, Version=67.0.0.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138' or one of its dependencies. An attempt was made to load a program with an incorrect format.'
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢。

这是我在 VS 2017 中的配置设置的屏幕截图,

在此处输入图片说明

和项目属性的构建选项卡:

在此处输入图片说明

c# 64-bit cefsharp

4
推荐指数
1
解决办法
4529
查看次数

如何让 CefSharp 使用 vs 公共库中的配置 AnyCPU

我创建了一个包含 WPF 窗口的类库项目。在一个 WPF 窗口中,我想要一个 CefSharp 浏览器。我的项目应该是配置AnyCPU。在不同的教程中,我看到使用CefSharp在可执行项目中调整AnyCPU配置的要点之一是设置 ( csproj )

<Prefer32Bit>true</Prefer32Bit>
Run Code Online (Sandbox Code Playgroud)

但是在类库项目中,这个属性是禁用的。如何在我的类库中为 CefSharp 启用 AnyCPU 支持?

c# wpf cefsharp

4
推荐指数
1
解决办法
8251
查看次数

CefSharp和框架,仅从第一帧检索HTML

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)

html frames cefsharp

3
推荐指数
1
解决办法
4064
查看次数

如何将CefSharp依赖项和文件移动到子目录?

CefSharp有很多依赖项和库需要运行.构建文件夹杂乱无章.如何将所需的.dll和.pak依赖项移动到子文件夹?

cefsharp

3
推荐指数
1
解决办法
3190
查看次数

如何使用CefSharp获取网页加载的资源

我看到类似的问题发布,没有答案.我是新使用CefSharp但我需要知道我是否可以获取网页加载的所有资源,例如图像,字体等.

关于如何实现这一点,官方文档似乎有点模糊.

更清楚的是,场景非常简单.当您使用CefSharp加载网页时,此网页包含图像,javascript文件,字体文件等资源.我只需要抓住所有这些资源来探索它们.

在此先感谢您的帮助,对不起我的英语.

c# cefsharp

3
推荐指数
1
解决办法
6160
查看次数

标签 统计

cefsharp ×10

c# ×8

chromium-embedded ×3

wpf ×2

64-bit ×1

frames ×1

html ×1

proxy ×1