大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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);
}
}
细节:
使用的点击代码:
_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账号...