通过xPath获取输入文本

时间:2017-05-23 09:00:53

标签: c# selenium xpath

我尝试使用C#和Selenium框架编写自动测试,但我无法获取输入字段的文本。 元素的html:

<input id="WorkPlacePageEmployerKPPcb96e63d-c837-4e7f-827b-2e7d49370f20TextEdit-el" class="base-edit-input ts-box-sizing" placeholder="Empty" value="" style="" tabindex="1" disabled="disabled" type="text">

在我的浏览器中,我看到它里面有一些文字,但是下面的代码

inputElement.Text

返回空字符串。 inputElement属于OpenQA.Selenium.IWebElement类型。

我做错了什么?

2 个答案:

答案 0 :(得分:1)

<input type="text">没有文字内容,但在用户发送密钥后更改的属性"value"

尝试替换

inputElement.Text

inputElement.GetAttribute("value")

此外,您可以将JavaScriptExceutor用于此目的:

IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
string inputText = (string)js.ExecuteScript("return arguments[0].value", inputElement);

答案 1 :(得分:1)

似乎可见文字是空的&#39;在浏览器上,你可以看到。请使用以下代码获取浏览器上显示的文字:

inputElement.GetAttribute("placeholder")

此外,您可以根据@Andersson的建议使用JavaScriptExceutor

IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
string inputText = (string)js.ExecuteScript("return arguments[0].placeholder", inputElement);