gpt4 book ai didi

javascript - 无法单击隐藏元素,该元素只有在将鼠标悬停在父元素上后才可见

转载 作者:行者123 更新时间:2023-11-30 13:46:34 26 4
gpt4 key购买 nike

有 10 个项目。我需要单击 item_9 中的隐藏元素(项目图标)。将鼠标悬停在他身上后会出现隐藏元素。我有同样的情况,同样的代码按预期运行。但在这种情况下,代码会意外运行并在控制台中出现错误。如何单击 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]"}

最佳答案

请尝试使用 JavascriptExecutor 来点击隐藏的元素。

Java 示例代码:

JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].click();", element);

关于javascript - 无法单击隐藏元素,该元素只有在将鼠标悬停在父元素上后才可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59211332/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com