我正在编写一个使用Selenium WebDriver检索另一页上输入内容的网页。
这是我要从以下网址检索信息的页面上的输入字段:
<input id="ReviewProposal_OwnerName" name="ReviewProposal.OwnerName" readonly="readonly" type="text" value="" />
这是在我要从中检索信息的页面上分配输入的脚本:
$('#ReviewProposal_OwnerName').val(data.Owner1);
在使用我的驱动程序导航到页面后,为了检索该值,我写道:
IJavaScriptExecutor js = driver as IJavaScriptExecutor;
IWebElement nameOfOwnerField = driver.FindElement(By.Id("ReviewProposal_OwnerName"));
string title = (string)js.ExecuteScript("return $('#ReviewProposal_OwnerName').val();");
output.InnerText += title;
输出是我写的页面上的div。
然而即使文本显示在页面的输入字段中,当我尝试通过我的代码检索它时,我总是得到一个空字符串。如果我查看firebug中的输入字段,即使调试器中的值标记为空白,文本也会显示在浏览器中。我做错了什么?
答案 0 :(得分:0)
也许是因为您的输入是只读的,而jQuery无法设置其值。