将值插入 div

Insert value to div

我有 HTML + Angular 看起来像这样:

<div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.colDef.name" class="ui-grid-cell ng-scope ui-grid-coluiGrid-15T" ng-class="{ 'ui-grid-row-header-cell': col.isRowHeader }" ui-grid-cell="">
    <div class="ui-grid-cell-contents ng-binding ng-scope ui-grid-cell-focus" tabindex="-1">33</div>
</div>

看起来像:

我需要添加/更改 div 之间的值(在本例中为 33) 我怎么尝试发送密钥它没有帮助。我再次检查我的 XPATH 是否正确但仍然...

var pkValue = "11";
element(by.xpath('(/html/body/div[2]/div/div/div[2]/form/fieldset[2]/div[2]/div/div/div[2]/div[2]/div/div/div/div[3]/div)')).sendKeys(pkValue); 

我是否遗漏了什么或者我是否需要为此做其他事情?

您需要set an innerHTML using executeScript():

var elm = element(by.xpath('(/html/body/div[2]/div/div/div[2]/form/fieldset[2]/div[2]/div/div/div[2]/div[2]/div/div/div/div[3]/div)'));

browser.executeScript("arguments[0].innerHTML = '11';", elm.getWebElement());

此外,请考虑更改您正在使用的 xpath - 这个(从 html 根元素开始的绝对路径)非常脆弱。