我有 2 个功能:
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);
}
}
我看到很奇怪的行为:
- 通常从浏览器开发者控制台和 CEFSharp 点击简单链接
- 同时,我在页面上有一个从 CRB 完美按下的按钮,但同时由于某种原因拒绝在 CEF-e 中工作。
任何想法可能是什么问题?
问题在于对在浏览器中启动的 JS 施加的安全限制。也就是说,您不能单击打开打开文件对话框的按钮
解决方案:
单击 CEF 中的给定坐标: