javascript - WatiN 无法通过 ID 或名称找到文本框

标签 javascript html ajax watin

为此,我整晚都在苦苦思索,谁能告诉我如何让 WatiN 将 TypeText 输入到这个文本框中?它被禁用,直到选择了一个单选按钮,我不知所措。我对所有这一切还是有点陌生​​,让我轻松一下

<TR>
    <TD WIDTH="100">Billing ID</TD>
    <TD nowrap>
        <INPUT TYPE="radio" NAME="reg_type" VALUE="Biller" ONCLICK="disableSubmitter(); clearAll(); document.config_frmV_f5a46cc226670cb3a4d7e0f5a98703a0.vendor_ID.disabled=false;">
        <B>Vendor ID:</B>
    </TD>
    <TD WIDTH="100"><INPUT TYPE="textbox" SIZE="10" NAME="vendor_ID" ID="vendor_ID" DISABLED ONBLUR='setupAjax();' value=""></TD>
</TR>
<TR>
    <TD>Submitter ID</TD>
    <TD nowrap>
        <INPUT TYPE="radio" NAME="reg_type" VALUE="Submitter" ONCLICK="disableBiller(); clearAll(); document.config_frmV_f5a46cc226670cb3a4d7e0f5a98703a0.existing_Billing_ID.disabled=false;">
        <B>Billing ID:</B>
    </TD>
    <TD WIDTH="100">
        <INPUT TYPE="textbox" SIZE="10" NAME="existing_Billing_ID" ID="existing_Billing_ID" DISABLED ONBLUR='setupAjax();' value=""></TD>
    <TD><INPUT TYPE="hidden" NAME="ff_option" VALUE="N"></TD>
</TR>

这是启用文本框的 onblur 命令的 JavaScript

function setupAjax()
{
    var sendStr = "";

    if(document.config_frmV_f5a46cc226670cb3a4d7e0f5a98703a0.reg_type[1].checked && document.config_frmV_f5a46cc226670cb3a4d7e0f5a98703a0.vendor_ID.value.length > 0)
    {
        document.config_frmV_f5a46cc226670cb3a4d7e0f5a98703a0.existing_Billing_ID.value = "";
        sendStr += 'reset=false&vendor_ID=' + document.config_frmV_f5a46cc226670cb3a4d7e0f5a98703a0.vendor_ID.value;
        sendStr += '&existing_Billing_ID=';

    }
    else if (document.config_frmV_f5a46cc226670cb3a4d7e0f5a98703a0.reg_type[2].checked && document.config_frmV_f5a46cc226670cb3a4d7e0f5a98703a0.existing_Billing_ID.value.length > 0)
    {
        document.config_frmV_f5a46cc226670cb3a4d7e0f5a98703a0.vendor_ID.value = "";
        sendStr += 'reset=false&existing_Billing_ID=' + document.config_frmV_f5a46cc226670cb3a4d7e0f5a98703a0.existing_Billing_ID.value;
        sendStr += '&vendor_ID=';
    }
    else 
    {
        return;
    }

我已经尝试通过 ID、名称、索引来选择,你可以命名它,但我仍然无法填充它,尽管我可以触摸页面上的所有其他元素。我可以使用 Element 找到它,它会报告名称但是我不知道如何使用元素填充框

最佳答案

通过使用 JavaScript 想出了一个解决问题的方法,现在工作得很好!

         StringBuilder js = new StringBuilder();
            js.Append(@"var myTextField = document.getElementById('vendor_ID');");
            js.Append(@"myTextField.setAttribute('value', '201153');");
            ie.RunScript(js.ToString());

关于javascript - WatiN 无法通过 ID 或名称找到文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7200553/

相关文章:

java - 如何从表中的 struts 标记发送带有操作 URL 的参数

javascript - Angular 2更改ngFor items类只知道它的索引

javascript - 我的 HTML 页面似乎没有运行我的 JavaScript 文件

javascript - 编写带有建议的搜索字段。 JavaScript焦点问题

javascript - jQuery 相当于 XMLHttpRequest 的上传?

javascript - CSS/JS 删除(自动)换行符/文本换行前的空格

javascript - 上传前在 Phonegap 中压缩视频文件

javascript - 将 html5 视频跳到末尾的按钮

用于音频控制的 Javascript 按钮切换

JavaScript:从服务器获取更新?