Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 29050|Resposta: 2

[WinForm] Use o CefSharp para acessar sites em C#

[Copiar link]
Publicado em 02/04/2019 20:31:40 | | | |
Na verdade, quero usar o CefSharp para acessar páginas do site e depois pegar o código-fonte html para análise; se você usar o controle embutido do navegador web, pode haver alguns erros incompatíveis com o js.

O CefSharp permite que você incorpore o Chromium em aplicações .NET. É um wrapper .NET leve baseado no Chromium Embedded Framework (CEF) de Marshall A. Greenblatt. Cerca de 30% das bindings são escritas em C++/CLI, e a maior parte do código aqui está em C#. Pode ser usado a partir de C#, VB ou qualquer outra linguagem CLR. O CefSharp fornece implementações de controle de navegadores web WPF e WinForms.

Endereço do GitHub:O login do hiperlink está visível.

Primeiro, uso o VS para criar um novo projeto winform com o seguinte ambiente:

  • . .NET framework versão: 4.6.2
  • Visual Studio 2013: E acima, estou usando vs2017 aqui



O comando nuget é o seguinte:

Após a execução, o programa adiciona automaticamente pacotes de dependências da seguinte forma:

<?xml versão="1.0" codificação="utf-8"?>
<packages>
  <package id="cef.redist.x64" versão="3.3578.1870" targetFramework="net462" />
  <package id="cef.redist.x86" versão="3.3578.1870" targetFramework="net462" />
  <package id="CefSharp.Common" versão="71.0.2" targetFramework="net462" />
  <package id="CefSharp.WinForms" versão="71.0.2" targetFramework="net462" />
</packages>

Após a conclusão da instalação, o projeto de compilação reportará o seguinte erro:

O CefSharp.Common contém recursos não gerenciados, configure seu projeto e plataforma de soluções para x86 ou x64. Alternativamente, para suporte ao AnyCPU, vejaO login do hiperlink está visível.

Vi uma solução na Internet que diz para mudar a plataforma ativa da solução para x86 (o CEF não pode se adaptar a x86 | x64, você deve escolher um alvo), e a plataforma alvo também deve ser consistente com a plataforma da solução.
Começando com o CefSharp 51, você pode usar o CefSharp com o AnyCPU, mas não funciona sozinho porque você precisa fazer algumas alterações em 2 arquivos específicos.

De acordo com o método dos internautas, isso deve ser resolvido, eu não tentei, na verdade o cef já suporta AnyCPU, mas precisa ser configurado, o esquema de configuração é o seguinte:

1: Primeiro clique com o botão direito no projeto, desinstale a solução, edite o arquivo .csproj do projeto e adicione-o <PropertyGroup>ao primeiro nó:



2: Após a adição ser concluída, recarregue o projeto e adicione a seguinte configuração no app.config:



3: Antes de chamar o Cef.Initialize, configure o caminho de inicialização do navegador com o seguinte código:

Referência da Solução:O login do hiperlink está visível.

O código completo é o seguinte:


Executar Projetos:


Recursos:https://ourcodeworld.com/article ... informs-application

(Fim)







Anterior:java recebe o tipo de propriedade Object, nome da propriedade e valor da propriedade
Próximo:Visual Studio 2019 para download offline e tutorial de instalação
Publicado em 02/04/2019 20:46:35 |
Apoie o proprietário, obrigado por compartilhar.
Publicado em 08/04/2019 23:44:58 |
Tenho prestado atenção ao CefSharp, mas não tenho um exemplo melhor e mais simples para entender. Obrigado por compartilhar
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com