gpt4 book ai didi

java - Selenium WebDriver(Java) : JavascriptExecutor fails to click element, 而 WebElement.click() 效果很好

转载 作者:行者123 更新时间:2023-12-01 13:10:01 25 4
gpt4 key购买 nike

如以下代码所示,通过 WebElement.click() 方法单击元素有效,而 JavascriptExecutor.executeScript 失败(在大多数情况下有效)。

WebElement e = driver.findElement(By.xpath("......."));//some kind of checkbox
e.click(); //works fine.
((JavascriptExecutor) aw.driver).executeScript("arguments[0].click();",e);
//executes with no exception, but the element is not selected.

该页面的源代码太复杂,无法粘贴到此处,抱歉。
调试此问题有任何线索或技巧吗?

该元素的html代码,它是一个extjs风格的复选框:
<td class="x-grid3-hd x-grid3-cell x-grid3-td-checker x-grid3-cell-first " style="width: 20px;">
<div class="x-grid3-hd-inner x-grid3-hd-checker" id="ext-gen108" unselectable="on" _nodup="30805">
<div class="x-grid3-hd-checker" _nodup="30805" />
</div></td>

我尝试单击 td 中的每个, td/div , td/div/div elements ,得到相同的结果: WebElement.click()作品,JavascriptExecutor.executeScript失败(也不异常(exception),但未选中该复选框)。

最佳答案

我不会假设 JavaScriptExecutor 无法首先执行您的脚本,而是查看脚本是否按预期工作。

尝试在“e.click();”处设置断点然后开始调试,之后尝试在浏览器控制台中运行您的脚本(在您的情况下为“arguments[0].click();”)并查看发生了什么。

如果您确认脚本是好的,那么尝试在您的executeScript处放置断点并确保该行代码已成功运行。

关于java - Selenium WebDriver(Java) : JavascriptExecutor fails to click element, 而 WebElement.click() 效果很好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22956260/

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