Clique no elemento da página da Web CefSharp
Estou tentando fazer um simples clique em algum elemento da página (como um btn ou link).
Eu escrevi 2 funções para clicar via xpath e via seletores CSS.
Ambas as funções funcionam perfeitamente no console do desenvolvedor do navegador, mas parcialmente não funcionam no CEF.
código clica perfeitamente em links simples do Developer Console e do CefO código clica perfeitamente no botão exato do Developer Console, mas não clica no CEF. É apenas ignorá-lo por algum motivo ...Como isso pode ser? O código Js é absolutamente o mesmo! ...
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);
}
}
código de clique usado:
_browser.ClickCss("#upload-container a");
mais uma vez: o mesmo código js funciona perfeitamente no console de desenvolvimento do navegador, mas não funciona no CEF por algum motivo.
A propósito, testei o código JS no Chrome. Portanto, o WebEngine é o mesmo em ambas as situações.
PS: Também funcionará para mim a simulação de arrastar e soltar de algum arquivo específico para algum elemento específico da web. Mas não encontrei nenhuma informação sobre isso, nem para Cef, nem para Js, nem para JQuery ... = (