我正在尝试创建一个框架,我想在web元素上执行操作之前查找是否隐藏了webelement。
我有一个隐藏的密码字段,结构如下
select t1.workID , t1.createddate , t3.Statename Currentstate ,
t4.Statename OldState , t5.Statename Newstate, t2.transitiondate
from [Work] t1
join [Work history] t2 on t1.workID = t2.workID
join [state] t3 on t3.StateID = t1.stateID
join [state] t4 on t4.StateID = t2.old_state
join [state] t5 on t5.StateID = t2.new_state
当我使用以下行查询输入标记时
<div class=hidepassword>
<input password field >
<div>
我得到的所有值都表明它是可见的。
后来,得知前面div所具有的类使得输入不可见。 我试图获取溢出的值,该值在.css文件中可用于类hidepassword
但不幸的是,类hidepassword有很多css值,当我使用下面的javascript函数时,我只能得到一个CSS值
Isvisible1 = (string)js1.ExecuteScript("return (window.getComputedStyle?window.getComputedStyle(arguments[0], null):arguments[0].currentStyle).visibility;", myCurElement);
Isvisible2 = (string)js1.ExecuteScript("return (window.getComputedStyle(arguments[0], null).getPropertyValue('display'));", myCurElement);
Isvisible3 = (bool)js1.ExecuteScript("return !(arguments[0].offsetHeight <= 1);", myCurElement);
有没有办法获取特定类名的所有css值,然后根据类的css值,我们可以调用元素是可见还是不可见。 ?
提前感谢您对此的所有帮助。
答案 0 :(得分:0)
Selenium提供api:isDisplayed()来检测元素可见性,为什么你想要自己实现它如此复杂