大家好,又见面了,我是你们的朋友全栈君。
我正在尝试简单地点击某个页面元素(如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的。。。=(
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。