gpt4 book ai didi

java - 如何使用 JavaScript 单击 Selenium WebDriver 中的元素?

转载 作者:IT老高 更新时间:2023-10-28 20:59:25 24 4
gpt4 key购买 nike

我有以下 HTML:

<button name="btnG" class="gbqfb" aria-label="Google Search" id="gbqfb"><span class="gbqfi"></span></button>

我的以下用于单击“Google 搜索”按钮的代码在 WebDriver 中使用 Java 运行良好。

driver.findElement(By.id("gbqfb")).click();

我想使用 JavaScript用 WebDriver 点击按钮。我该怎么做?

最佳答案

通过 JavaScript 执行点击有一些您应该注意的行为。例如,如果绑定(bind)到元素的 onclick 事件的代码调用 window.alert(),您可能会发现 Selenium 代码挂起,具体取决于浏览器的实现司机。也就是说,您可以使用 JavascriptExecutor 类来执行此操作。不过,我的解决方案与其他建议的不同之处在于,您仍然可以使用 WebDriver 方法来定位元素。

// Assume driver is a valid WebDriver instance that
// has been properly instantiated elsewhere.
WebElement element = driver.findElement(By.id("gbqfd"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);

您还应该注意,使用 WebElement 接口(interface)的 click() 方法可能会更好,但是 disabling native events在实例化你的驱动程序之前。这将实现相同的目标(具有相同的潜在限制),但不会强制您编写和维护自己的 JavaScript。

关于java - 如何使用 JavaScript 单击 Selenium WebDriver 中的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11947832/

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