cefsharp使用js,cefsharp使用时间长无法访问页面

本文目录一览:

什么是cefsharp.browsersubprocess.exe吗

是cefsharp谷歌程序密令,解除方法:

CefSharp调用 js。

CefSharp.WinForms.ChromiumWebBrowser wb;

ExecuteScriptAsync 方法使用方式与 js 的 eval方法一样,异步执行,无返回值。

// xxx为js的方法名称。

wb.ExecuteScriptAsync(“xxx()”);

// 为 js 的 变量jsVar赋值 ‘abc’

wb.ExecuteScriptAsync(“jsVar=’abc'”);

EvaluateScriptAsync 方法使用方式与 js 的 eval方法一样,异步执行,有返回值。

TaskCefSharp.JavascriptResponse t = wb.EvaluateScriptAsync(“callTest2()”);

扩展资料:

Google Chrome的特点是简洁、快速。GoogleChrome支持多标签浏览,每个标签页面都在独立的“沙箱”内运行,在提高安全性的同时,一个标签页面的崩溃也不会导致其他标签页面被关闭。此外,Google Chrome基于更强大的JavaScript V8引擎,这是当前Web浏览器所无法实现的。

另有手机版的Chrome浏览器,于2012年发布了Chrome浏览器移动版,提供IOS系统、安卓系统以及Windows Phone系统的Chrome浏览器,在保持浏览器原有特点的情况下。

实现了多终端使用浏览器,具有共享收藏历史信息等功能,是手机浏览器的一次巨大突破。随着Android系统的份额不断扩大而市场占有率不断飙升。

c# cefsharp能不能像webbrowser那样获取到元素,修改这个元素的属性呢

cefsharp新手慎用,用的是js代码,可以获取元素修改元素,但是使用js。

var frame = cb.GetMainFrame();

var task = frame.EvaluateScriptAsync(“(function() { return document.getElementsByTagName(‘input’)[0].value; })();”, null);

这段代码你要充分利用py抓取到可靠信息,知道第一个input是什么,而且有value属性,不然就会报错。

frame.EvaluateScriptAsync()允许你写入js片段。

网页抓捕当中我觉得这个还是靠谱的,现在C#有很多,webbrowser、webkitbrowser、geckofx、webkitsharp……都是些噱头,一般的网页都无法搞定。

py的webdriver和android的webview同出一辙,跟webkit一样。

但是获取信息是不行的,比如我要抓取哪个元素值,你老老实实先把decument对象获取到,再抓。

C# 的cefsharp 里的ChromiumWebBrowser执行js

具体调用:

IBrowser browser = this._browser.GetBrowser();

if (browser.HasDocument)

{

IFrame mainFrame = browser.MainFrame;

var js = “var f= function A(){ return $(‘img’,$(‘#”+id+”‘));}; f();”;

var task = mainFrame.EvaluateScriptAsync(js, null);// “(function() { var body = document.body, html = document.documentElement; return Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight ); })();”, null);

//执行脚本

//browser.MainFrame.ExecuteJavaScriptAsync(“document.getElementById(‘testid’).click();”);

//browser.MainFrame.ExecuteJavaScriptAsync(“document.getElementById(‘testid2’).value=’123′”);

task.ContinueWith(t =

{

if (!t.IsFaulted)

{//返回结果

var response = t.Result;

var result = response.Success ? (response.Result ?? “null”) : response.Message;

//html = result.ToString();

}

}, TaskScheduler.FromCurrentSynchronizationContext());

}

原创文章,作者:PWKW,如若转载,请注明出处:https://www.506064.com/n/147492.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
PWKWPWKW
上一篇 2024-11-01 14:09
下一篇 2024-11-01 14:09

相关推荐

  • 打包后页面空白的解决方案

    当我们在调试阶段时,我们的app可能看起来完美无缺,但当我们进行打包时,在运行app时,我们可能会遇到白屏或空白的问题。在这篇文章中,我们将探讨如何解决这种问题。 一、检查文件路径…

    编程 2025-04-29
  • Python操作Web页面

    本文将从多个方面详细介绍Python操作Web页面的技巧、方法和注意事项。 一、安装必要的库 在Python中操作Web页面,需要用到一些第三方库。 pip install req…

    编程 2025-04-28
  • PHP登录页面代码实现

    本文将从多个方面详细阐述如何使用PHP编写一个简单的登录页面。 1. PHP登录页面基本架构 在PHP登录页面中,需要包含HTML表单,用户在表单中输入账号密码等信息,提交表单后服…

    编程 2025-04-27
  • 用vuefavicon管理你的页面icon标签

    一、什么是vuefavicon vuefavicon是一种Vue.js插件,用于动态管理网站的favicon图标。通常情况下,我们会将网站的icon标签放置在html文档的head…

    编程 2025-04-25
  • HTML编写登录注册页面

    一、HTML做一个登录注册页面简约 简约风格一直是大家喜欢的设计风格,下面我们就从简约风格角度来看HTML如何编写登录注册页面。 一个简约的登录注册页面不需要复杂的线条和花哨的背景…

    编程 2025-04-25
  • 深入探讨uniapp内嵌HTML页面

    一、HTML页面的嵌入方式 1、使用`uni-web-view`原生组件嵌入HTML页面在uni-app中,可以使用`uni-web-view`组件来嵌入HTML页面。其中,`un…

    编程 2025-04-23
  • 用JSONResult实现页面内容的高效显示

    一、JSONResult是什么 JSONResult是Struts2中一种特殊的返回类型,它将返回一个特定的JSON格式的数据,并且可以在前端页面上进行高效的解析和渲染。它的使用非…

    编程 2025-04-23
  • Vue中使用this.$router.push切换路由时页面不刷新的解决方法

    一、原因分析 在我们平时使用Vue开发项目时,经常会使用this.$router.push切换路由,从而实现页面之间的跳转。但是,有时候我们发现切换路由后,页面并没有进行刷新,这时…

    编程 2025-04-23
  • Vue进入页面时函数调用

    一、什么是Vue进入页面时函数调用 Vue进入页面时函数调用是指在Vue实例初始化时自动调用的函数,这些函数可用于初始化数据、执行异步请求、添加监听器和其他一些编程任务。它们在Vu…

    编程 2025-04-22
  • HTML5中关闭当前页面的常用方法

    一、使用window.close()方法 在HTML5中,可以使用window.close()方法关闭当前页面。这个方法可以在当前页面或者一个弹出窗口中使用。 在Chrome、Fi…

    编程 2025-04-13

发表回复

登录后才能评论