首页 > 解决方案 > 无法使用 Selenium Web Driver C# 在文本区域中输入文本

问题描述

以下是原始代码。

我想在以下文本框区域输入文本。无法输入数据。让我知道,如何在下面的文本框中输入文本。

    <td id="ctl00_cRight_ucSMS_redSMSBodyCenter" class="reContentCell" style="height:100%;">
    <label for="ctl00_cRight_ucSMS_redSMSBodyContentHiddenTextarea" style="display:none;">
RadEditor hidden textarea
</label>
    <textarea id="ctl00_cRight_ucSMS_redSMSBodyContentHiddenTextarea" name="ctl00$cRight$ucSMS$redSMSBody" rows="4" cols="20" style="display:none;">
    </textarea>
    <iframe frameborder="0" src="javascript:'<html></html>';id="ctl00_cRight_ucSMS_redSMSBody_contentIframe" title="Rich text editor with ID ctl00_cRight_ucSMS_redSMSBody" style="width: 100%; height: 218.009px; margin: 0px; padding: 0px;">
    </iframe></td>

我已输入以下代码来输入数据。

IWebElement userid = FamosDriver.WebDriver.FindElement(By.Id("ctl00_cRight_ucSMS_redSMSBodyCenter"));
                userid.SendKeys("Test");

我还尝试了以下 Java 脚本执行程序代码。

IJavaScriptExecutor jst = FamosDriver.WebDriver as IJavaScriptExecutor;
         jst.executeScript("document.getElementById('ctl00_cRight_ucSMS_redSMSBodyCenter').value='testuser'"); 

我错过了什么吗?我不知道如何解决这个问题

标签: javascriptc#seleniumselenium-webdrivercss-selectors

解决方案


<textarea id="ctl00_cRight_ucSMS_redSMSBodyContentHiddenTextarea" name="ctl00$cRight$ucSMS$redSMSBody" rows="4" cols="20" style="display:none;">
    </textarea>

如果您查看样式属性,它的style="display:none;显示为无。

您需要更改 的属性,textarea然后使用send_keys() Use java script executor 来设置属性。

IWebElement userid = FamosDriver.WebDriver.FindElement(By.Id("ctl00_cRight_ucSMS_redSMSBodyCenter"));
IJavaScriptExecutor js =FamosDriver.WebDriver as IJavaScriptExecutor;;
js.executeScript("arguments[0].style='display: block;'", userid);
userid.SendKeys("Test");

推荐阅读