文本开始显示为可见,然后更改为
style= "visibility: hidden"
可见性周期很短,我想知道在状态更改为隐藏后如何使用Selenium提取此文本
我正在使用一个简单的
element.getText()
命令来获取此文本,该文本在可见时有效,但在隐藏时不返回任何内容。
#1 楼
我有同样的问题,实际上不喜欢Selenium中的“功能”。在我的C#抽象层中,我将getText
替换为:return ((IJavaScriptExecutor)webDriverInstance).ExecuteScript("return arguments[0].innerHTML", elementInstance).ToString();
评论
非常感谢您的快速解答,我将尝试一下。我对Java和Selenium还是有点陌生,因此可能需要一些时间来报告它是否有效
– Gil_G
2012年4月19日在16:18
非常感谢,它运行良好,而不是我的element.getText();。我使用了'JavascriptExecutor js =(JavascriptExecutor)驱动程序; (js.executeScript(“ return arguments [0] .innerHTML”,element));无论可见度状态如何,我都能获得价值。
– Gil_G
2012年4月20日下午5:46
哦,是的,我没有注意到.....完成!
– Gil_G
2012年4月20日在20:59
它也提取标签和属性..不仅是文本
–JackTurky
2012年7月28日在22:19
你是对的。在C#中,我使用此代码删除所有标签信息,以便仅显示内部文本。字符串returnText =(((IJavaScriptExecutor)WTWebUiAuto.webDriver).ExecuteScript(“ return arguments [0] .innerHTML”,this.WtElement).ToString(); returnText = Regex.Replace(returnText,“ <。*?>”,“”);
–山姆·伍兹(Sam Woods)
2012年7月30日在16:57
评论
非常感谢 。我在Selenium Webdriver java中使用了Get CheckBox文本。我的代码对我来说很好用:String checkBoxLabel =(String)((JavascriptExecutor)Browser.driver).executeScript(“ return arguments [0] .innerHTML”,checkLabelTextElement); System.out.println(“ CheckText is” + checkBoxLabel);