gpt4 book ai didi

java - Selenium (Java): hover over a button and click on either of the options

转载 作者:行者123 更新时间:2023-11-28 10:54:53 26 4
gpt4 key购买 nike

我正在使用 Selenium 通过 Java 语言自动化 UI。

我有一个操作按钮,当用户将鼠标悬停在操作按钮上时,它会提供两个可点击的选项 - 创建和编辑

我已将 CSS 定位器存储为 Action 按钮的枚举,并将创建和编辑(可点击)链接分别存储为 ACTIONBUTTON、CREATEACTION、EDITACTION。

我使用了如下的 Java 代码,但它给出了一个错误提示 java.lang.ClassCastException: org.openqa.selenium.By$ByCssSelector cannot be cast to org.openqa.selenium.WebElement

Actions actions = new Actions(driver);
actions.moveToElement((WebElement) DCSAdminEnums.ACTIONBUTTON.getLocator());

actions.moveToElement((WebElement) DCSAdminEnums.CREATEACTION.getLocator());
actions.click();
actions.perform();

请建议您可以使用我拥有的枚举帮助更好地处理这个问题。

更新:我也尝试了下面的代码风格,但它没有用:-(

WebElement menu = driver.findElement((By.xpath("//*[@id='button-1177-btnInnerEl']")));
WebElement submenu = driver.findElement((By.cssSelector("a[id='menuitem-1175-itemEl']")));
Actions action = new Actions(driver);
action.moveToElement(menu).perform();
Thread.sleep(2000);
action.click(submenu).perform();

最佳答案

ByWebElement 是不同的类型,因此会出现编译错误。

如果您谈论的是未执行的操作,那么这与您的原始帖子完全不同。请提出一个新问题。

WebbElement可以通过driver.findElement(By locator)获取,所以需要使用driver.findElement(yourLocator)获取元素优先。

Actions actions = new Actions(driver);
actions.moveToElement(driver.findElement(DCSAdminEnums.ACTIONBUTTON.getLocator()));
actions.moveToElement(driver.findElement(DCSAdminEnums.CREATEACTION.getLocator()));
actions.click().perform();

关于java - Selenium (Java): hover over a button and click on either of the options,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22650409/

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