cefsharp修改html元素,CefSharp网页元素点击

cefsharp修改html元素,CefSharp网页元素点击我正在尝试简单地点击某个页面元素(如btn或链接)。我编写了两个函数,分别用于通过xpath和CSS选择器单击。这两个功能在浏览器的开发人员控制台中都能很好地工作,但在CEF中部分不能工作。从开发人员控制台和Cef的简单链接中编写完美的click代码代码完美地点击了开发人员控制台上的确切按钮,但没有点击CEF。只是出于某种原因忽略了它。。。怎么会这样?Js代码完全一样!…publicvoid…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

我正在尝试简单地点击某个页面元素(如btn或链接)。

我编写了两个函数,分别用于通过xpath和CSS选择器单击。

这两个功能在浏览器的开发人员控制台中都能很好地工作,但在CEF中部分不能工作。

从开发人员控制台和Cef的简单链接中编写完美的click代码

代码完美地点击了开发人员控制台上的确切按钮,但没有点击CEF。只是出于某种原因忽略了它。。。

怎么会这样?Js代码完全一样!…

public void Click(string xpath)

{

var js = “document.evaluate(\”” + xpath + “\”, document, null, XPathResult.ANY_TYPE, null).iterateNext().click();”;

EvaluateJavascript(js);

}

public void ClickCss(string css)

{

var js = “document.querySelector(‘”+ css + “‘).click()”;

EvaluateJavascript(js);

}

public async Task EvaluateJavascript(string script)

{

JavascriptResponse javascriptResponse = await Browser.GetMainFrame().EvaluateScriptAsync(script);

if (!javascriptResponse.Success)

{

throw new JavascriptException(javascriptResponse.Message);

}

}

细节:

EH8aW.png

rcTSb.png

使用的点击代码:

_browser.ClickCss(“#upload-container a”);

还有一次:相同的js代码在浏览器开发控制台中工作得很好,但由于某些原因在CEF中不工作。

顺便说一下,我已经在Chrome中测试了JS代码。所以WebEngine在这两种情况下都是一样的。

另外,我还可以模拟一些特定的文件拖放到一些特定的web元素。但我没有找到任何关于这方面的信息,不是Cef的,不是Js的,不是JQuery的。。。=(

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/193667.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • linux修改java环境,linux下修改java环境变量

    linux修改java环境,linux下修改java环境变量linux下修改java环境变量[2021-02-0701:55:24]简介:linux修改php环境变量的方法:首先添加路径,代码为【exportPATH=”$PATH:/cxwww/server/php/7.3.4/bin”】;然后读取配置即可,代码为【source/etc/profile】。linux修改php环境变服务器这篇文章主要为大家展示了linux环境下怎么配置环境变量,内…

    2022年10月31日
  • moebius for sql server下载_大数据集群规模选择

    moebius for sql server下载_大数据集群规模选择一、Moebius集群的架构及原理1、无共享磁盘架构Moebius集群采用无共享磁盘架构设计,各个机器可以不连接一个共享的设备,数据可以存储在每个机器自己的存储介质中。这样每个机器就不需要硬件上的

  • 基于Ubuntu20.04 Linux系统安装 Microsoft Edge浏览器 详细步骤

    基于Ubuntu20.04 Linux系统安装 Microsoft Edge浏览器 详细步骤目录1.MicrosoftEdge注意:最近在学习强度学习,作为刚起步的小白啥也不懂就先安装了最新的Ubuntu20.04,听很多人说这个版本相对之前的版本可以很方便的链接网络,个人感觉还不错。  个人之前一直使用Windows系统,初次接触Linux有不足之处请读者多多包含。在Windows系统的时候使用的浏览器,我还是比较喜欢使用MicrosoftEdge,之前用过一段时间的Chrome的参考资料:基于Linux的MicrosoftEdge浏览器1.Microsoft

  • python安装pycryptodome_python代码如何转成c代码

    python安装pycryptodome_python代码如何转成c代码在windows下用一下开源工具就是悲催,如题python安装pycrypto在windows也是很麻烦。一般在官方网站下载:https://www.dlitz.net/software/pycrypto/然后使用命令就可以安装成功了:pythonsetup.pybuildpythonsetup.pyinstall但是在windows下会报错:Pythonerror:Unableto…

    2022年10月27日
  • 数字电子技术课程设计八路抢答器报告_八路抢答器课程设计参考

    数字电子技术课程设计八路抢答器报告_八路抢答器课程设计参考数字电子技术课程设计-八路抢答器有错误请指正

    2022年10月20日
  • 一篇文章弄懂Java多线程基础和Java内存模型

    一篇文章弄懂Java多线程基础和Java内存模型文章目录一、多线程的生命周期及五种基本状态二、Java多线程的创建及启动1.继承Thread类,重写该类的run()方法2.通过实现Runnable接口创建线程类3.通过Callable和Future接口创建线程三、Java内存模型概念四、内存间的交互操作五、volatile和synchronized的区别写在前面:提起多线程大部门同学可能都会皱起眉头不知道多线程到底是什么、什么时候可以用到、用…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号