C# DotNetBrowser检查元素是否可见
我试图实现以下JavaScript函数来检查元素是否可见。问题是javascript变量为null,强制转换为函数当然不起作用C# DotNetBrowser检查元素是否可见,c#,dotnetbrowser,C#,Dotnetbrowser,我试图实现以下JavaScript函数来检查元素是否可见。问题是javascript变量为null,强制转换为函数当然不起作用 var element = node as DOMElement; JSValue javascript = browser.ExecuteJavaScriptAndReturnValue("var KBrowserIsHidden = function (el) { " + "var style = window.getComputed
var element = node as DOMElement;
JSValue javascript = browser.ExecuteJavaScriptAndReturnValue("var KBrowserIsHidden = function (el) { " +
"var style = window.getComputedStyle(el); " +
"return (style.display === 'none' || style.visibility === 'hidden') " +
"}" +
"KBrowserIsHidden");
var hidden = Convert.ToBoolean(javascript.AsFunction().InvokeAndReturnValue(null, element));
关于获取JavaScript函数,请考虑分离函数定义并将其返回到C边。示例源代码如下所示:
browser.ExecuteJavaScriptAndReturnValue("var KBrowserIsHidden = function (el) { " +
"var style = window.getComputedStyle(el); " +
"return (style.display === 'none' || style.visibility === 'hidden'); " +
"};");
JSValue javascript = browser.ExecuteJavaScriptAndReturnValue("KBrowserIsHidden;");
另外,请记住dotnebrowser不允许通过自动转换将domapi对象传递给JavaScipt-.NET网桥。在所描述的情况下,我建议您使用JavaScript代码找到所需的元素