如何使用 Javascript select Selenium Webdriver 中的最后一个元素?
How to select last element in Selenium Webdriver using Javascript?
我创建了一个脚本来验证元素是否已成功添加。添加的元素始终在页面末尾或成为不同 div 中的最后一个元素。我正在使用 selenium webdriver 和 javascript。这是 HTML 代码
<div class="row">
<div class="form-group col-sm-2 col-xs-12">
<label>Entity Name</label>
<input value="ttax" class="form-control entity-name" disabled="">
</div>
</div>
<div class="row">
<div class="form-group col-sm-2 col-xs-12">
<label>Entity Name</label>
<input value="Room" class="form-control entity-name" disabled="">
</div>
</div>
我试过了
let new_entity = await driver.findElement(By.css("div:nth-child(2) > div.form-group.col-sm-2.col-xs-12 > input").last()
let entity_value = await new_entity.getAttribute('value')
expect(entity_value).to.be.eq(entity_name)
但是我得到了错误
element.last() is not function
谁能帮帮我?我在 java 脚本中找不到有关 selenium webdriver 的参考,其中大部分使用 java。 ss
这里当你想使用最后一个或第一个元素时,我们必须得到一个元素数组。我们可以使用 findElements
而不是 findElement
let new_entity = await driver.findElements(By.css("..")).last();
让entity_value =等待new_entity.getAttribute('value');
期待(entity_value).to.be.eq(entity_name);
由于添加的元素总是成为验证添加元素的最后一个元素,因此您需要找到您没有向我们展示的 父元素 的 last-child
在 HTML 内的问题。因此,要找到 last-child
,您可以使用以下 css-selectors based :
使用css:
let new_entity = await driver.findElement(By.css("immediateParentTag div:last-child > div.form-group.col-sm-2.col-xs-12 > input"))
我创建了一个脚本来验证元素是否已成功添加。添加的元素始终在页面末尾或成为不同 div 中的最后一个元素。我正在使用 selenium webdriver 和 javascript。这是 HTML 代码
<div class="row">
<div class="form-group col-sm-2 col-xs-12">
<label>Entity Name</label>
<input value="ttax" class="form-control entity-name" disabled="">
</div>
</div>
<div class="row">
<div class="form-group col-sm-2 col-xs-12">
<label>Entity Name</label>
<input value="Room" class="form-control entity-name" disabled="">
</div>
</div>
我试过了
let new_entity = await driver.findElement(By.css("div:nth-child(2) > div.form-group.col-sm-2.col-xs-12 > input").last()
let entity_value = await new_entity.getAttribute('value')
expect(entity_value).to.be.eq(entity_name)
但是我得到了错误
element.last() is not function
谁能帮帮我?我在 java 脚本中找不到有关 selenium webdriver 的参考,其中大部分使用 java。 ss
这里当你想使用最后一个或第一个元素时,我们必须得到一个元素数组。我们可以使用 findElements
而不是 findElementlet new_entity = await driver.findElements(By.css("..")).last();
让entity_value =等待new_entity.getAttribute('value'); 期待(entity_value).to.be.eq(entity_name);
由于添加的元素总是成为验证添加元素的最后一个元素,因此您需要找到您没有向我们展示的 父元素 的 last-child
在 HTML 内的问题。因此,要找到 last-child
,您可以使用以下 css-selectors based
使用css:
let new_entity = await driver.findElement(By.css("immediateParentTag div:last-child > div.form-group.col-sm-2.col-xs-12 > input"))