我正在尝试从我的应用程序中提取特定消息。
文本开始显示为可见,然后更改为style= "visibility: hidden"
可见性周期很短,我想知道在状态更改为隐藏后如何使用Selenium提取此文本
我正在使用一个简单的element.getText()命令来获取此文本,该文本在
可见时有效,但在隐藏时不返回任何内容。

评论

非常感谢 。我在Selenium Webdriver java中使用了Get CheckBox文本。我的代码对我来说很好用:String checkBoxLabel =(String)((JavascriptExecutor)Browser.driver).executeScript(“ return arguments [0] .innerHTML”,checkLabelTextElement); System.out.println(“ CheckText is” + checkBoxLabel);

#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