繁体   English   中英

DotNetBrowser 检查元素是否可见

[英]DotNetBrowser check if element is visible

我正在尝试实现以下 JavaScript function 来检查元素是否可见。 问题是 javascript 变量是 null 并且强制转换 AsFunction 当然不起作用。

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 function,请考虑将 function 定义分离并返回到 ZD7EFA19FBE027D39D74523 端。 示例源代码如下所示:

browser.ExecuteJavaScriptAndReturnValue("var KBrowserIsHidden = function (el) { " +
"var style = window.getComputedStyle(el); " +
"return (style.display === 'none' || style.visibility === 'hidden'); " +
"};");

JSValue javascript = browser.ExecuteJavaScriptAndReturnValue("KBrowserIsHidden;");

另外,请记住,DotNetBrowser 不允许通过自动转换将 DOM API 对象传递给 JavaScipt - .NET Bridge。 在所描述的情况下,我建议您使用 JavaScript 代码找到所需的元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM