簡體   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