0

我正在编写一个网页,它使用 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 中的输入字段,即使调试器中的值标记为空白,文本也会显示在浏览器中。我究竟做错了什么?

4

1 回答 1

0

也许是因为您的输入是只读的,而 jQuery 无法设置其值。

于 2012-09-02T15:58:14.960 回答