HTML/Java: .exists() 总是 returns 真

HTML/Java: .exists() always returns true

我有以下代码。该站点有一个选项卡,只有在发生某些事情时才会显示。我正在测试该选项卡是否显示,但它始终 returns 正确。

if (html_tab1().exists() == true) {
   //Some code
}

我认为问题在于 html 隐藏选项卡的方式。即使隐藏在 HUD 中,.exists() 是否也能找到选项卡?如果是这样,我该如何修改 java 以检查选项卡是隐藏的还是显示的。谢谢!

你能试试吗

Object disp = html_tab1().getProperty(".currentStyle.display"); 
System.out.println("Display " + disp);

根据您获得的显示值属性,您可以确定控件是否可见。其他方法也可能是尝试获取控件的 screenRectangle() 并检查控件是否可见,边界是否为零 width/height。等等

我的问题已通过使用以下代码解决

if(html_tab1().ensureObjectIsVisible()  == true) {
    //some code
}

仍然有兴趣了解为什么 none 的其他人有效。我觉得 .isShowing() 应该已经完成​​了这项工作。感谢大家的帮助!