无法在 Selenium WebDriver 的段落标记中使用 sendKeys() 方法

Say*_*yom 2 html java selenium selenium-webdriver

这是我要编辑的页面的图像:

在此输入图像描述

这是 HTML:

<div id="taTextElement7190829193028565" class="ng-pristine ng-untouched ng-valid ta-bind" contenteditable="true" ta-bind="ta-bind" ng-model="html">
<h3>Problem Scenario</h3>
<p>ff-224</p>
<h3>Diagnostics</h3>
<p>
<h3>Resolution Steps</h3>
<p>
</div>
Run Code Online (Sandbox Code Playgroud)

现在,我使用sendKeys()函数将值传递到段落标记中。

String PS_XPath = "//div[contains(@class, 'ng-pristine ng-untouched ng-valid ta-bind')]/p[2]";
WebElement element=driver.findElement(By.xpath(PS_XPath));
element.click();
element.sendKeys("Test");
Run Code Online (Sandbox Code Playgroud)

但该sendKeys()功能不起作用。

vol*_*boy 6

仅使用普通的 Webdriver 方法无法完成此操作。但你可以使用 JavascriptExecutor 来做到这一点。这应该有效:

JavascriptExecutor js = (JavascriptExecutor)driver; js.executeScript("document.getElementsByTagName('p')[2].innerHTML = 'Sample text'");

在哪里:

[2] - 所需标签的索引。

示例文本 - 替换为您的文本。