【问题标题】:Selenium Javascript won't retrieve valueSelenium Javascript 不会检索值
【发布时间】:2012-04-22 03:36:23
【问题描述】:

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

【问题讨论】:

  • 抱歉,还没有大量使用 webdriver,但是您尝试过string title = driver.FindElement(By.Id("ReviewProposal_OwnerName")).GetAttribute("value"); 而不是使用 javascript 吗?

标签: c# asp.net visual-studio-2010 dom selenium


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多