Webdriverjs无法更新div包装段落中的文本

时间:2016-11-01 22:58:34

标签: javascript selenium selenium-webdriver

我有一种情况,我希望能够更新包含在<p>标记内的<div>标记中的某些默认文字,但到目前为止,我一直无法找到一个好的解决方案为了实现这一点。

以下是我要编辑的HTML片段:

<div class="edit-text">
 <p> Default text </p>
</div>

我想访问<p>标记并清除文本和/或使用不同的内容更新文本。

我尝试了几种不同的编辑文本的方法,包括查找元素并与之交互:

var edit = driver.wait(until.elementLocated(By.xpath("//div[@class='edit-text']/p")))
edit.click()
edit.clear()
edit.sendKeys('Hello')

但这似乎永无止境。是否有其他事情正在发生,我没有看到?

我看过其他一些帖子使用executeScript但我找不到一个好方法来使用这种方法并使用此HTML使用的元素更新文本,因为浏览器似乎没有支持通过xpath查找元素。

1 个答案:

答案 0 :(得分:0)

经过一些实验后,我可以使用executeScriptdocument.querySelector找到解决方案来获得解决方案。

document.querySelector(".edit-text").innerHTML = "Hello world"