【发布时间】:2019-12-08 00:30:27
【问题描述】:
有 10 个项目。我需要点击 item_9 中的隐藏元素(item-icon)。隐藏元素悬停在他身上后出现。我有同样的情况,同样的代码按预期运行。但在这种情况下,代码会意外运行并在控制台中出现错误。 如何点击 item_9 元素中的 item-icon 元素?
html:
<div class="item">
<div class="w">item_1</div>
<div class="d">
<div style="display:none" class="item-icon" role="button" tabindex="-1">
button1
</div>
<div style="display:none" class="item-icon">
button2
</div>
</div>
</div>
<div class="item">
<div class="w">item_2</div>
<div class="d">...</div>
</div>
...
<div class=""><div class="item">
<div class="w">item_10</div>
<div class="d">...</div>
</div></div>
js:
let findItems = await driver.findElements(By.className("item"));
let items = findItems.map(async elem => await elem.getText());
let allItems = await Promise.all(items);
await driver.findElement(By.xpath(`//div[@class='item'][9]//div[@class='item-icon'][2]`)).click();
控制台错误:
{ NoSuchElementError: no such element: Unable to locate element: {"method":"xpath","selector":"//div[@class='item'][9]//div[@class='item-icon'][2]"}
【问题讨论】:
标签: javascript selenium selenium-webdriver selenium-chromedriver